Extacting the OCDB in a separate module. The detectors have write permission in the...
[u/mrichter/AliRoot.git] / TRD / Cal / AliTRDplotNoiseBaseline.C
1 #if !defined( __CINT__) || defined(__MAKECINT__)\r
2 \r
3 \r
4 #include <Riostream.h>\r
5 #include <TSystem.h>\r
6 #include <TProfile2D.h>\r
7 #include <TCanvas.h>\r
8 #include <TH1F.h>\r
9 #include <TH2I.h>\r
10 #include <TStyle.h>\r
11 #include <TFile.h>\r
12 #include <TGrid.h>\r
13 \r
14 \r
15 #include "AliCDBManager.h"\r
16 #include "AliCDBStorage.h"\r
17 #include "AliCDBEntry.h"\r
18 \r
19 \r
20 #include "../TRD/AliTRDarrayF.h"\r
21 #include "../TRD/AliTRDCalibPadStatus.h"\r
22 #include "../TRD/Cal/AliTRDCalPadStatus.h"\r
23 #include "../TRD/Cal/AliTRDCalDet.h"\r
24 #include "../TRD/Cal/AliTRDCalPad.h"\r
25 #include "../TRD/Cal/AliTRDCalROC.h"\r
26 #include "../TRD/AliTRDcalibDB.h"\r
27 \r
28 \r
29 #endif\r
30 \r
31 \r
32 //void PlotNoiseBaseline(Int_t run, Int_t sm, Int_t det, const char * pathdatabase="local:///d/alice12/bailhache/TestShuttle/database/", const char * pathreferencefile="local:///d/alice12/bailhache/TestShuttle/reference")\r
33 //void PlotNoiseBaseline(Int_t run=34529, Int_t sm=0, Int_t det=0, const char * pathdatabase="alien://Folder=/alice/data/2008/LHC08b/OCDB/", const char * pathreferencedatabase="alien://Folder=/alice/data/2008/LHC08b/Reference/")\r
34 //void PlotNoiseBaseline(Int_t run=1, Int_t sm=0, Int_t det=0, const char * pathdatabase="local:///d/alice12/bailhache/AliAnalysisTask/v4-13-Head/SHUTTLE/TestShuttle/TestCDB/", const char * pathreferencedatabase="local:///d/alice12/bailhache/AliAnalysisTask/v4-13-Head/SHUTTLE/TestShuttle/TestReference/")\r
35 void AliTRDplotNoiseBaseline(Int_t run=34529, Int_t sm=0, Int_t det=0, const char * pathdatabase="alien://Folder=/alice/data/2008/LHC08b/OCDB/", const char * pathreferencedatabase="alien://Folder=/alice/data/2008/LHC08b/Reference/")\r
36 {\r
37 \r
38   //TGrid::Connect("alien://",0,0,"t");\r
39 \r
40   AliCDBManager *CDB = AliCDBManager::Instance();\r
41   CDB->SetDefaultStorage("local://$ALICE_ROOT/OCDB"); \r
42   CDB->SetSpecificStorage("TRD/Calib/PadNoise",pathdatabase);\r
43   CDB->SetSpecificStorage("TRD/Calib/DetNoise",pathdatabase);\r
44   CDB->SetSpecificStorage("TRD/Calib/PadStatus",pathdatabase);\r
45   CDB->SetRun(run);\r
46 \r
47   AliTRDcalibDB *cal = AliTRDcalibDB::Instance();\r
48 \r
49   //const AliTRDCalDet *u = cal->GetNoiseDet();\r
50 \r
51   AliTRDCalDet *u = new AliTRDCalDet("u","u");\r
52   for(Int_t k = 0; k < 540; k++){\r
53     u->SetValue(k,10.0);\r
54   }\r
55 \r
56   //Style\r
57   //************************\r
58   gStyle->SetPalette(1);\r
59   gStyle->SetOptStat(1111);\r
60   gStyle->SetPadBorderMode(0);\r
61   gStyle->SetCanvasColor(10);\r
62   gStyle->SetPadLeftMargin(0.13);\r
63   gStyle->SetPadRightMargin(0.13);\r
64 \r
65   //Build the Cal Pad\r
66   //********************************\r
67   Int_t smi = sm*30;\r
68   AliTRDCalPad *ki = new AliTRDCalPad("testnoise","testnoise");\r
69   for(Int_t k = 0; k < 540; k++){\r
70     ki->SetCalROC(k,(AliTRDCalROC *) cal->GetNoiseROC(k));   \r
71   }\r
72 \r
73   // padstatus 2D\r
74   Int_t smn = (Int_t) det/30;\r
75   if((smn==0) || (smn==1) || (smn==2) || (smn==9) || (smn==10) || (smn==11)) smn = 1;\r
76   if((smn==3) || (smn==4) || (smn==5) || (smn==12) || (smn==13) || (smn==14)) smn = 2;\r
77   if((smn==6) || (smn==7) || (smn==8) || (smn==15) || (smn==16) || (smn==17)) smn = 3;\r
78   TString name("TRD/DAQData/PadStatus");\r
79   name += smn;\r
80   //name += 3;\r
81   AliCDBEntry *entrypadstatus = AliCDBManager::Instance()->Get("TRD/Calib/PadStatus",run);\r
82   if(!entrypadstatus) return;\r
83   AliTRDCalPadStatus *lo = (AliTRDCalPadStatus *)entrypadstatus->GetObject();\r
84   AliCDBEntry *entryo = AliCDBManager::Instance()->GetStorage(pathreferencedatabase)->Get(name, run);\r
85   if(!entryo) return;\r
86   AliTRDCalibPadStatus *calpad = (AliTRDCalibPadStatus *) entryo->GetObject();\r
87   if(!calpad) return;\r
88  \r
89 \r
90   // Plot\r
91   //***********\r
92  \r
93   \r
94   // noise 2D\r
95   TCanvas *cnoise = new TCanvas((const char*)"noise1",(const char*)"noise1",50,50,600,800);\r
96   cnoise->Divide(3,2);\r
97   cnoise->cd(1);\r
98   ((TH2F *)ki->MakeHisto2DSmPl(sm,0,u,0,0.0,3.5,-1))->Draw("colz");\r
99   cnoise->cd(2);\r
100   ((TH2F *)ki->MakeHisto2DSmPl(sm,1,u,0,0.0,3.5,-1))->Draw("colz");\r
101   cnoise->cd(3);\r
102   ((TH2F *)ki->MakeHisto2DSmPl(sm,2,u,0,0.0,3.5,-1))->Draw("colz");\r
103   cnoise->cd(4);\r
104   ((TH2F *)ki->MakeHisto2DSmPl(sm,3,u,0,0.0,3.5,-1))->Draw("colz");\r
105   cnoise->cd(5);\r
106   ((TH2F *)ki->MakeHisto2DSmPl(sm,4,u,0,0.0,3.5,-1))->Draw("colz");\r
107   cnoise->cd(6);\r
108   ((TH2F *)ki->MakeHisto2DSmPl(sm,5,u,0,0.0,3.5,-1))->Draw("colz");\r
109   \r
110 \r
111   // Pad Status \r
112   TCanvas *cpadstatus = new TCanvas((const char*)"padstatus",(const char*)"padstatus",50,50,600,800);\r
113   cpadstatus->Divide(3,2);\r
114   cpadstatus->cd(1);\r
115   ((TH2F *)lo->MakeHisto2DSmPl(sm,0))->Draw("colz");\r
116   cpadstatus->cd(2);\r
117   ((TH2F *)lo->MakeHisto2DSmPl(sm,1))->Draw("colz");\r
118   cpadstatus->cd(3);\r
119   ((TH2F *)lo->MakeHisto2DSmPl(sm,2))->Draw("colz");\r
120   cpadstatus->cd(4);\r
121   ((TH2F *)lo->MakeHisto2DSmPl(sm,3))->Draw("colz");\r
122   cpadstatus->cd(5);\r
123   ((TH2F *)lo->MakeHisto2DSmPl(sm,4))->Draw("colz");\r
124   cpadstatus->cd(6);\r
125   ((TH2F *)lo->MakeHisto2DSmPl(sm,5))->Draw("colz");\r
126 \r
127     \r
128  \r
129   // reference data \r
130 \r
131   TCanvas *cpoui = new TCanvas((const char*)"cpoui",(const char*)"cpoui",50,50,600,800);\r
132   cpoui->cd();\r
133   ((TH2F *)calpad->GetHisto(det))->Draw("lego");\r
134 \r
135 \r
136   AliTRDCalROC *ouip = calpad->GetCalRocMean(det);\r
137   TCanvas *cpouilo = new TCanvas((const char*)"cpouilo",(const char*)"cpouilo",50,50,600,800);\r
138   cpouilo->Divide(2,1);\r
139   cpouilo->cd(1);\r
140   ((TH1F *)ouip->MakeHisto1D(8.5,10.5,-1,10.0))->Draw();\r
141   //((TH1F *)ouip->MakeHisto1D(0.85,1.05,-1))->Draw();\r
142   cpouilo->cd(2);\r
143   ((TH2F *)ouip->MakeHisto2D(8.5,10.5,-1,10.0))->Draw("colz");\r
144   //((TH2F *)ouip->MakeHisto2D(0.85,1.05,-1))->Draw("colz");\r
145 \r
146   AliTRDCalROC *ouiphy = calpad->GetCalRocRMS(det);\r
147   TCanvas *cpouiloh = new TCanvas((const char*)"cpouiloh",(const char*)"cpouiloh",50,50,600,800);\r
148   cpouiloh->Divide(2,1);\r
149   cpouiloh->cd(1);\r
150   ((TH1F *)ouiphy->MakeHisto1D(0.1,4.5,-1,10.0))->Draw();\r
151   //((TH1F *)ouiphy->MakeHisto1D(0.01,0.45,-1))->Draw();\r
152   cpouiloh->cd(2);\r
153   ((TH2F *)ouiphy->MakeHisto2D(0.1,4.5,-1,10.0))->Draw("colz");\r
154   //((TH2F *)ouiphy->MakeHisto2D(0.01,0.45,-1))->Draw("colz");\r
155   \r
156     \r
157 \r
158  \r
159 }\r