]> git.uio.no Git - u/mrichter/AliRoot.git/blob - OADB/COMMON/CENTRALITY/macros/fillCENTRALITYOADB.C
macro to fill Centrality OADB
[u/mrichter/AliRoot.git] / OADB / COMMON / CENTRALITY / macros / fillCENTRALITYOADB.C
1 void initHists(Int_t fRunNo, Int_t fPass, TList* list); 
2 void fill()
3 {
4   gSystem->Load("libPhysics");
5   gSystem->Load("libTree");
6   gSystem->Load("libVMC");
7   gSystem->Load("libSTEERBase");
8   gSystem->Load("libOADB");
9
10   // LHC10h parameters
11   Float_t fV0MScaleFactor   = 1.0;
12   Float_t fSPDScaleFactor   = 1.0;
13   Float_t fTPCScaleFactor   = 1.0;
14   Float_t fV0MScaleFactorMC = 0.8;
15   Float_t fV0MSPDOutlierPar0 = -0.579579;
16   Float_t fV0MSPDOutlierPar1 = 0.273949;
17   Float_t fV0MTPCOutlierPar0 = -1.03873;
18   Float_t fV0MTPCOutlierPar1 = 0.125691;
19   Float_t fV0MSPDSigmaOutlierPar0  = 190.3;
20   Float_t fV0MSPDSigmaOutlierPar1  = -3.3;
21   Float_t fV0MSPDSigmaOutlierPar2  = 0.015;
22   Float_t fV0MTPCSigmaOutlierPar0  = 96.8;
23   Float_t fV0MTPCSigmaOutlierPar1  = 1.7;
24   Float_t fV0MTPCSigmaOutlierPar2  = 0.008;
25   Float_t fV0MZDCOutlierPar0       = 6200.0;
26   Float_t fV0MZDCOutlierPar1       = - 0.25 ;
27   Float_t fV0MZDCEcalOutlierPar0   = 235000.;
28   Float_t fV0MZDCEcalOutlierPar1   = - 9.5;
29   Float_t fZVCut = 10.0;
30   Float_t fOutliersCut = 6.0;
31   Bool_t fUseScaling  = kFALSE;
32   Bool_t fUseCleaning = kTRUE;
33   
34   
35   AliOADBContainer* con     = new AliOADBContainer("Centrality");
36
37   
38   AliOADBCentrality*  cent1  = new AliOADBCentrality();
39   cent1->SetScaleFactors(fV0MScaleFactor,fSPDScaleFactor,fTPCScaleFactor,fV0MScaleFactorMC);
40   cent1->SetOutlierV0MSPDFactors(fV0MSPDOutlierPar0,fV0MSPDOutlierPar1,fV0MSPDSigmaOutlierPar0,fV0MSPDSigmaOutlierPar1,fV0MSPDSigmaOutlierPar2);
41   cent1->SetOutlierV0MTPCFactors(fV0MTPCOutlierPar0,fV0MTPCOutlierPar1,fV0MTPCSigmaOutlierPar0,fV0MTPCSigmaOutlierPar1,fV0MTPCSigmaOutlierPar2);
42   cent1->SetOutlierV0MZDCFactors(fV0MZDCOutlierPar0,fV0MZDCOutlierPar1);
43   cent1->SetOutlierV0MZDCEcalFactors(fV0MZDCEcalOutlierPar0,fV0MZDCEcalOutlierPar1);
44   cent1->SetZVCut(fZVCut);
45   cent1->SetOutliersCut(fOutliersCut);
46   cent1->SetUseScaling(fUseScaling);
47   cent1->SetUseCleaning(fUseCleaning);
48   TList* list1  = new TList();
49   TList* list12  = new TList();
50   list1->SetName("AliCentralityBy1D_137161");
51   list12->SetName("AliCentralityByFunction_137161");
52   initHists(137161, 2, list1, list12); 
53   cent1->SetHistReferences(list1, list12);
54   con->AppendObject(cent1,  136851,  137165);
55   
56   AliOADBCentrality*  cent2  = new AliOADBCentrality();
57   cent2->SetScaleFactors(fV0MScaleFactor,fSPDScaleFactor,fTPCScaleFactor,fV0MScaleFactorMC);
58   cent2->SetOutlierV0MSPDFactors(fV0MSPDOutlierPar0,fV0MSPDOutlierPar1,fV0MSPDSigmaOutlierPar0,fV0MSPDSigmaOutlierPar1,fV0MSPDSigmaOutlierPar2);
59   cent2->SetOutlierV0MTPCFactors(fV0MTPCOutlierPar0,fV0MTPCOutlierPar1,fV0MTPCSigmaOutlierPar0,fV0MTPCSigmaOutlierPar1,fV0MTPCSigmaOutlierPar2);
60   cent2->SetOutlierV0MZDCFactors(fV0MZDCOutlierPar0,fV0MZDCOutlierPar1);
61   cent2->SetOutlierV0MZDCEcalFactors(fV0MZDCEcalOutlierPar0,fV0MZDCEcalOutlierPar1);
62   cent2->SetZVCut(fZVCut);
63   cent2->SetOutliersCut(fOutliersCut);
64   cent2->SetUseScaling(fUseScaling);
65   cent2->SetUseCleaning(fUseCleaning);
66   TList* list2  = new TList();
67   TList* list22  = new TList();
68   list2->SetName("AliCentralityBy1D_137366");
69   list22->SetName("AliCentralityByFunction_137366");
70   initHists(137366, 2, list2, list22); 
71   cent2->SetHistReferences(list2, list22);
72   con->AppendObject(cent2,  137230,  137531);
73   
74   
75   AliOADBCentrality*  cent3  = new AliOADBCentrality();
76   cent3->SetScaleFactors(fV0MScaleFactor,fSPDScaleFactor,fTPCScaleFactor,fV0MScaleFactorMC);
77   cent3->SetOutlierV0MSPDFactors(fV0MSPDOutlierPar0,fV0MSPDOutlierPar1,fV0MSPDSigmaOutlierPar0,fV0MSPDSigmaOutlierPar1,fV0MSPDSigmaOutlierPar2);
78   cent3->SetOutlierV0MTPCFactors(fV0MTPCOutlierPar0,fV0MTPCOutlierPar1,fV0MTPCSigmaOutlierPar0,fV0MTPCSigmaOutlierPar1,fV0MTPCSigmaOutlierPar2);
79   cent3->SetOutlierV0MZDCFactors(fV0MZDCOutlierPar0,fV0MZDCOutlierPar1);
80   cent3->SetOutlierV0MZDCEcalFactors(fV0MZDCEcalOutlierPar0,fV0MZDCEcalOutlierPar1);
81   cent3->SetZVCut(fZVCut);
82   cent3->SetOutliersCut(fOutliersCut);
83   cent3->SetUseScaling(fUseScaling);
84   cent3->SetUseCleaning(fUseCleaning);
85   TList* list3  = new TList();
86   TList* list32  = new TList();
87   list3->SetName("AliCentralityBy1D_137722");
88   list32->SetName("AliCentralityByFunction_137722");
89   initHists(137722, 2, list3, list32); 
90   cent3->SetHistReferences(list3, list32);
91   con->AppendObject(cent3, 137539, 137848);
92   
93   
94   AliOADBCentrality*  cent4  = new AliOADBCentrality();
95   cent4->SetScaleFactors(fV0MScaleFactor,fSPDScaleFactor,fTPCScaleFactor,fV0MScaleFactorMC);
96   cent4->SetOutlierV0MSPDFactors(fV0MSPDOutlierPar0,fV0MSPDOutlierPar1,fV0MSPDSigmaOutlierPar0,fV0MSPDSigmaOutlierPar1,fV0MSPDSigmaOutlierPar2);
97   cent4->SetOutlierV0MTPCFactors(fV0MTPCOutlierPar0,fV0MTPCOutlierPar1,fV0MTPCSigmaOutlierPar0,fV0MTPCSigmaOutlierPar1,fV0MTPCSigmaOutlierPar2);
98   cent4->SetOutlierV0MZDCFactors(fV0MZDCOutlierPar0,fV0MZDCOutlierPar1);
99   cent4->SetOutlierV0MZDCEcalFactors(fV0MZDCEcalOutlierPar0,fV0MZDCEcalOutlierPar1);
100   cent4->SetZVCut(fZVCut);
101   cent4->SetOutliersCut(fOutliersCut);
102   cent4->SetUseScaling(fUseScaling);
103   cent4->SetUseCleaning(fUseCleaning);
104   TList* list4  = new TList();
105   TList* list42  = new TList();
106   list4->SetName("AliCentralityBy1D_138150");
107   list42->SetName("AliCentralityByFunction_138150");
108   initHists(138150, 2, list4, list42); 
109   cent4->SetHistReferences(list4, list42);
110   con->AppendObject(cent4,  138125, 138154);
111
112
113   AliOADBCentrality*  cent5  = new AliOADBCentrality();
114   cent5->SetScaleFactors(fV0MScaleFactor,fSPDScaleFactor,fTPCScaleFactor,fV0MScaleFactorMC);
115   cent5->SetOutlierV0MSPDFactors(fV0MSPDOutlierPar0,fV0MSPDOutlierPar1,fV0MSPDSigmaOutlierPar0,fV0MSPDSigmaOutlierPar1,fV0MSPDSigmaOutlierPar2);
116   cent5->SetOutlierV0MTPCFactors(fV0MTPCOutlierPar0,fV0MTPCOutlierPar1,fV0MTPCSigmaOutlierPar0,fV0MTPCSigmaOutlierPar1,fV0MTPCSigmaOutlierPar2);
117   cent5->SetOutlierV0MZDCFactors(fV0MZDCOutlierPar0,fV0MZDCOutlierPar1);
118   cent5->SetOutlierV0MZDCEcalFactors(fV0MZDCEcalOutlierPar0,fV0MZDCEcalOutlierPar1);
119   cent5->SetZVCut(fZVCut);
120                            cent5->SetOutliersCut(fOutliersCut);
121   cent5->SetUseScaling(fUseScaling);
122   cent5->SetUseCleaning(fUseCleaning);
123   TList* list5  = new TList();
124   TList* list52  = new TList();
125   list5->SetName("AliCentralityBy1D_138200");
126   list52->SetName("AliCentralityByFunction_138200");
127   initHists(138200, 2, list5, list52); 
128   cent5->SetHistReferences(list5, list52);
129   con->AppendObject(cent5,  138190, 138275);
130
131
132   AliOADBCentrality*  cent6  = new AliOADBCentrality();
133   cent6->SetScaleFactors(fV0MScaleFactor,fSPDScaleFactor,fTPCScaleFactor,fV0MScaleFactorMC);
134   cent6->SetOutlierV0MSPDFactors(fV0MSPDOutlierPar0,fV0MSPDOutlierPar1,fV0MSPDSigmaOutlierPar0,fV0MSPDSigmaOutlierPar1,fV0MSPDSigmaOutlierPar2);
135   cent6->SetOutlierV0MTPCFactors(fV0MTPCOutlierPar0,fV0MTPCOutlierPar1,fV0MTPCSigmaOutlierPar0,fV0MTPCSigmaOutlierPar1,fV0MTPCSigmaOutlierPar2);
136   cent6->SetOutlierV0MZDCFactors(fV0MZDCOutlierPar0,fV0MZDCOutlierPar1);
137   cent6->SetOutlierV0MZDCEcalFactors(fV0MZDCEcalOutlierPar0,fV0MZDCEcalOutlierPar1);
138   cent6->SetZVCut(fZVCut);
139                            cent6->SetOutliersCut(fOutliersCut);
140   cent6->SetUseScaling(fUseScaling);
141   cent6->SetUseCleaning(fUseCleaning);
142   TList* list6  = new TList();
143   TList* list62  = new TList();
144   list6->SetName("AliCentralityBy1D_139172");
145   list62->SetName("AliCentralityByFunction_139172");
146   initHists(139172, 2, list6, list62); 
147   cent6->SetHistReferences(list6, list62);
148   con->AppendObject(cent6,  138358,  139517);  
149   
150
151   AliOADBCentrality*  defaultCent  = new AliOADBCentrality("oadbDefault");
152   defaultCent->SetScaleFactors(fV0MScaleFactor,fSPDScaleFactor,fTPCScaleFactor,fV0MScaleFactorMC);
153   defaultCent->SetOutlierV0MSPDFactors(fV0MSPDOutlierPar0,fV0MSPDOutlierPar1,fV0MSPDSigmaOutlierPar0,fV0MSPDSigmaOutlierPar1,fV0MSPDSigmaOutlierPar2);
154   defaultCent->SetOutlierV0MTPCFactors(fV0MTPCOutlierPar0,fV0MTPCOutlierPar1,fV0MTPCSigmaOutlierPar0,fV0MTPCSigmaOutlierPar1,fV0MTPCSigmaOutlierPar2);
155   defaultCent->SetOutlierV0MZDCFactors(fV0MZDCOutlierPar0,fV0MZDCOutlierPar1);
156   defaultCent->SetOutlierV0MZDCEcalFactors(fV0MZDCEcalOutlierPar0,fV0MZDCEcalOutlierPar1);
157   defaultCent->SetZVCut(fZVCut);
158   defaultCent->SetOutliersCut(fOutliersCut);
159   defaultCent->SetUseScaling(fUseScaling);
160   defaultCent->SetUseCleaning(kFALSE);
161   defaultCent->SetHistReferences(list6, list62);
162   con->AddDefaultObject(defaultCent);
163
164   
165   con->WriteToFile("centrality.root");
166 }
167
168 void initHists(Int_t fRunNo, Int_t fPass, TList* list1, TList* list2) 
169 {
170   TString fileName =(Form("%s/COMMON/CENTRALITY/data/pass%d/AliCentralityBy1D_%d.root", AliOADBContainer::GetOADBPath(), fPass, fRunNo));
171   TString fileName2=(Form("%s/COMMON/CENTRALITY/data/pass%d/AliCentralityByFunction_%d.root", AliOADBContainer::GetOADBPath(), fPass, fRunNo));
172   TDirectory *owd = gDirectory;
173   // Check if the file is present
174   TString path = gSystem->ExpandPathName(fileName.Data());
175   if (gSystem->AccessPathName(path)) {
176      AliError(Form("File %s does not exist", path.Data()));
177      return;
178   }
179   fFile  = TFile::Open(fileName);
180   fFile->ls();
181   owd->cd();
182
183   fHtempV0M  = (TH1F*) (fFile->Get("hmultV0_percentile"));
184   fHtempTRK  = (TH1F*) (fFile->Get("hNtracks_percentile"));
185   //fHtempTKL  = (TH1F*) (fFile->Get("hNtracklets_percentile"));
186   //fHtempCL0  = (TH1F*) (fFile->Get("hNclusters0_percentile"));
187   fHtempCL1  = (TH1F*) (fFile->Get("hNclusters1_percentile"));
188
189   fHtempV0M  ->SetName("fHOutMultV0M_percentile");
190   fHtempTRK  ->SetName("fHOutMultTRK_percentile");
191   fHtempCL1  ->SetName("fHOutMultCL1_percentile");
192   fHtempV0M  ->SetTitle("fHOutMultV0M_percentile");
193   fHtempTRK  ->SetTitle("fHOutMultTRK_percentile");
194   fHtempCL1  ->SetTitle("fHOutMultCL1_percentile");
195
196   list1->Add(fHtempV0M);
197   list1->Add(fHtempTRK);
198   //list->Add(fHtempTKL);
199   //list->Add(fHtempCL0);
200   list1->Add(fHtempCL1);
201   list1->ls();
202
203
204   TDirectory *owd = gDirectory;
205   TString path = gSystem->ExpandPathName(fileName2.Data());
206   if (gSystem->AccessPathName(path)) {
207      AliError(Form("File %s does not exist", path.Data()));
208      return;
209   }   
210   fFile2  = TFile::Open(fileName2);
211   owd->cd();
212   fFile2->ls();
213   //  fHtempV0MvsFMD =  (TH1F*) (fFile2->Get("hmultV0vsmultFMD_all_percentile"));
214   //  fHtempTKLvsV0M  = (TH1F*) (fFile2->Get("hNtrackletsvsmultV0_all_percentile"));
215   fHtempZEMvsZDC  = (TH2F*) (fFile2->Get("hEzemvsEzdc_all_percentile"));
216   
217   fHtempZEMvsZDC->SetName("fHOutMultZEMvsZDC");
218   fHtempZEMvsZDC->SetTitle("fHOutMultZEMvsZDC");
219
220   // list2->Add(fHtempV0MvsFMD);
221   // list2->Add(fHtempTKLvsV0M);
222   list2->Add(fHtempZEMvsZDC);
223   owd->cd();
224
225 }