]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGPP/CalibMacros/CPass0/makeOCDB.C
Adding T0 status to the log file
[u/mrichter/AliRoot.git] / PWGPP / CalibMacros / CPass0 / makeOCDB.C
1 /*
2   macro to extract the OCDB entries
3
4   input: CalibObjects.root
5   ouput: TimeGain and TimeVdrift calibration objects for TPC and TRD
6
7   Example:
8   .L $ALICE_ROOT/PWGPP/CalibMacros/CPass0/makeOCDB.C
9   makeOCDB("105160");
10
11 */
12
13 void PrintDetectorStatus();
14
15
16
17 void makeOCDB(TString runNumberString, TString  ocdbStorage="")
18 {
19   //
20   // extract TPC OCDB entries
21   //
22   gROOT->Macro("$ALICE_ROOT/PWGPP/CalibMacros/CPass0/LoadLibraries.C");
23   gROOT->LoadMacro("$ALICE_ROOT/PWGPP/CalibMacros/CPass0/ConfigCalibTrain.C");
24
25   // switch off log info
26   AliLog::SetClassDebugLevel("AliESDEvent",0);
27
28   // config GRP
29   Int_t runNumber = runNumberString.Atoi();
30   printf("runNumber from runCalibTrain = %d\n",runNumber);
31   ConfigCalibTrain(runNumber, "raw://");
32
33   // Steering Tasks - set output storage
34   // DefaultStorage set already before - in ConfigCalibTrain.C
35 //ocdbStorage+="?se=ALICE::CERN::SE";
36
37   AliCDBManager::Instance()->SetSpecificStorage("*/*/*",ocdbStorage.Data());
38
39   // set OCDB storage
40   if (ocdbStorage.Length()==0) ocdbStorage+="local://"+gSystem->GetFromPipe("pwd")+"/OCDB";
41
42   // TPC part
43   TFile fcalib("CalibObjects.root");
44   AliTPCPreprocessorOffline procesTPC;
45
46   // switch on parameter validation
47   procesTPC.SetTimeGainRange(0.5,3.0);
48   procesTPC.SwitchOnValidation();
49
50   // Make timegain calibration
51   //proces.CalibTimeGain("CalibObjects.root", runNumber,AliCDBRunRange::Infinity(),ocdbStorage);
52   procesTPC.CalibTimeGain("CalibObjects.root", runNumber,runNumber,ocdbStorage);
53
54   // Make vdrift calibration
55   //proces.CalibTimeVdrift("CalibObjects.root",runNumber,AliCDBRunRange::Infinity(),ocdbStorage);
56   procesTPC.CalibTimeVdrift("CalibObjects.root",runNumber,runNumber,ocdbStorage);
57   //
58   // TOF part
59   //
60   AliTOFAnalysisTaskCalibPass0 calibTask;
61   Printf("Calibrating TOF");
62   calibTask.ProcessOutput("CalibObjects.root", ocdbStorage);
63 //
64 //
65
66 // T0 part
67   AliT0PreprocessorOffline procesT0;
68   // Make  calibration of channels offset
69    procesT0.setDArun(179000);
70    procesT0.Process("CalibObjects.root",runNumber, runNumber, ocdbStorage);
71
72
73
74    //TRD part
75    AliTRDPreprocessorOffline procestrd;
76    procestrd.SetLinearFitForVdrift(kTRUE);
77    procestrd.SetMinStatsVdriftT0PH(600*10);
78    procestrd.SetMinStatsVdriftLinear(50);
79    procestrd.SetMinStatsGain(600);
80    procestrd.SetLimitValidateNoData(60);
81    procestrd.SetLimitValidateBadCalib(60);
82    procestrd.SetAlternativeDriftVelocityFit(kTRUE);
83    procestrd.Init("CalibObjects.root");
84    Int_t versionVdriftUsed = procestrd.GetVersionVdriftUsed();
85    Int_t subversionVdriftUsed = procestrd.GetSubVersionVdriftUsed();
86    Int_t versionGainUsed = procestrd.GetVersionGainUsed();
87    Int_t subversionGainUsed = procestrd.GetSubVersionGainUsed();
88    Int_t versionExBUsed = procestrd.GetVersionExBUsed();
89    Int_t subversionExBUsed = procestrd.GetSubVersionExBUsed();
90    printf("version and subversion vdrift %d and %d\n",versionVdriftUsed,subversionVdriftUsed);
91    printf("version and subversion gain %d and %d\n",versionGainUsed,subversionGainUsed);
92    printf("version and subversion exb %d and %d\n",versionExBUsed,subversionExBUsed);
93    procestrd.Process("CalibObjects.root",runNumber,runNumber,ocdbStorage);
94   
95   
96    //Mean Vertex
97    AliMeanVertexPreprocessorOffline procesMeanVtx;
98    procesMeanVtx.ProcessOutput("CalibObjects.root", ocdbStorage, runNumber);
99
100    //
101    // Print calibration status into the stdout
102    //
103    Int_t trdStatus = procestrd.GetStatus();
104    Int_t tofStatus = calibTask.GetStatus();
105    Int_t t0Status = procesT0.GetStatus();
106    Int_t tpcStatus = ((procesTPC.ValidateTimeDrift() || procesTPC.ValidateTimeGain())==kFALSE);
107    //
108    printf("\n\n\n\n");
109    printf("CPass0 calibration status\n");
110    printf("TRD calibration status=%d\n",trdStatus);
111    printf("TOF calibration status=%d\n",tofStatus);
112    printf("TPC calibration status=%d\n",tpcStatus);
113    printf("T0  calibration status=%d\n",t0Status);
114    PrintDetectorStatus();
115    return;
116 }
117
118
119
120
121 void PrintDetectorStatus(){
122   //
123   // GetStatus for the detector which did not implement GetStatus function: 
124   //
125   // AliTOFAnalysisTaskCalibPass0 calibTask;            // GetStatus implemented
126   // AliTRDPreprocessorOffline procestrd;               // GetStatus implemented 
127   // AliTPCPreprocessorOffline proces;                  // GetStatus not implemented (next release)
128   //                                                    // Logical or of the Validation function used instead
129   //
130   // AliMeanVertexPreprocessorOffline procesMeanVtx;    // GetStatus not implemented 
131   // AliT0PreprocessorOffline procesT0;                 // GetStatus not implemented 
132   // SDDcalib                                           // Not automatic update - Not needed 
133   //
134   // CODE TO BE WRITTEN HERE FOR DETECTOT WITHOUT STATUS 
135 }