]>
Commit | Line | Data |
---|---|---|
1 | void MakeT0RecoParam(Int_t startRun = 0, Int_t endRun = AliCDBRunRange::Infinity(), AliRecoParam::EventSpecie_t defaultParam = AliRecoParam::kHighMult) | |
2 | //void MakeT0RecoParam(Int_t startRun = 122000, Int_t endRun = 126437, AliRecoParam::EventSpecie_t defaultParam = AliRecoParam::kHighMult) | |
3 | { | |
4 | // Create T0 Calibration Object for Ideal calibration and | |
5 | // write it on CDB | |
6 | AliCDBManager *man = AliCDBManager::Instance(); | |
7 | // man->SetDefaultStorage("local://$ALICE_ROOT/OCDB"); | |
8 | man->SetDefaultStorage("local:///scratch/alla/alice/Oct11/TestCDBf"); | |
9 | man->SetRun(startRun); | |
10 | ||
11 | TObjArray *recoParamArray = new TObjArray(); | |
12 | AliT0RecoParam* t0RecoParam; | |
13 | ||
14 | t0RecoParam = AliT0RecoParam::GetHighFluxParam(); | |
15 | t0RecoParam->SetEventSpecie(AliRecoParam::kHighMult); | |
16 | Float_t low[500] , high[500] ; | |
17 | Float_t pos[24] = {2472, 2492, 2501, 2540, 2526, 2525, 2501, 2461, 2556, 2544, 2533, 2487, | |
18 | 2485, 2502, 2453, 2470, 2520, 2486, 2512, 2523, 2505, 2562, 2533, 2481}; | |
19 | for (Int_t i=0; i<107; i++) | |
20 | { | |
21 | low[i] = 500; | |
22 | high[i]=50000; | |
23 | if(i>0 && i<13) { low[i] = pos[i-1] - 200; high[i] = pos[i-1] + 200;} | |
24 | if(i>56 && i<69) { low[i] = pos[i-57] - 200.; high[i]=pos[i-57] + 200;} | |
25 | // if(i<13) { low[i]=pos[i]-500.;high[i]=pos[i]+500.;} | |
26 | // if(i>56 && i<69) { low[i]=pos[i+13-57]-500.;high[i]=pos[i-57+13]+500.;} | |
27 | } | |
28 | ||
29 | // bad PMT | |
30 | t0RecoParam->SetRefPoint(-1); | |
31 | // amplitude range for recontruction | |
32 | low[200]=0.8; | |
33 | high[200]=80; | |
34 | for (Int_t i=0; i<24; i++) t0RecoParam-> SetBadChannels(i,0); | |
35 | ||
36 | for (Int_t i=0; i<500; i++) { | |
37 | t0RecoParam->SetLow(i,low[i]); | |
38 | t0RecoParam->SetHigh(i,high[i]); | |
39 | } | |
40 | t0RecoParam->SetEq(1); | |
41 | t0RecoParam->SetSatelliteThresholds(-15, -1.7); | |
42 | ||
43 | t0RecoParam->PrintParameters(); | |
44 | recoParamArray->AddLast(t0RecoParam); | |
45 | ||
46 | //----------------------------------------- | |
47 | ||
48 | t0RecoParam = AliT0RecoParam::GetLowFluxParam(); | |
49 | t0RecoParam->SetEventSpecie(AliRecoParam::kLowMult); | |
50 | Float_t low[500], high[500] ; | |
51 | for (Int_t i=0; i<500; i++) | |
52 | { | |
53 | low[i] = 500; | |
54 | high[i]=50000; | |
55 | if(i>0 && i<13) { low[i] = pos[i-1] - 200; high[i] = pos[i-1] + 200;} | |
56 | if(i>56 && i<69) { low[i] = pos[i-57] - 200.; high[i]=pos[i-57] + 200;} | |
57 | // if(i<13) { low[i]=pos[i]-500.;high[i]=pos[i]+500.;} | |
58 | // if(i>56 && i<69) { low[i]=pos[i+13-57]-500.;high[i]=pos[i-57+13]+500.;} | |
59 | } | |
60 | ||
61 | // bad PMT | |
62 | // t0RecoParam->SetRefPoint(-1); | |
63 | for (Int_t i=0; i<24; i++) t0RecoParam->SetBadChannels(i,0); | |
64 | t0RecoParam->SetRefPoint(-1); | |
65 | // amplitude range for recontruction | |
66 | t0RecoParam->SetEq(1); | |
67 | low[200]=0.8; | |
68 | high[200]=80; | |
69 | for (Int_t i=0; i<500; i++) { | |
70 | t0RecoParam->SetLow(i,low[i]); | |
71 | t0RecoParam->SetHigh(i,high[i]); | |
72 | } | |
73 | // t0RecoParam->PrintParameters(); | |
74 | recoParamArray->AddLast(t0RecoParam); | |
75 | //-------------------------------------- | |
76 | t0RecoParam = AliT0RecoParam::GetLaserTestParam(); | |
77 | t0RecoParam->SetEventSpecie(AliRecoParam::kCalib); | |
78 | // t0RecoParam->Dump(); | |
79 | cout<<" t0RecoParam->GetEventSpecie "<< t0RecoParam->GetEventSpecie()<<endl; | |
80 | for (Int_t i=0; i<107; i++) { | |
81 | t0RecoParam->SetLow(i, 0); | |
82 | t0RecoParam->SetHigh(i, 50000); | |
83 | } | |
84 | t0RecoParam->SetEq(1); | |
85 | t0RecoParam->SetSatelliteThresholds(-15, -1.7); | |
86 | // t0RecoParam->Dump(); | |
87 | t0RecoParam->SetRefPoint(1); | |
88 | // t0RecoParam->PrintParameters(); | |
89 | recoParamArray->AddLast(t0RecoParam); | |
90 | ||
91 | ||
92 | // Set the default | |
93 | Bool_t defaultIsSet = kFALSE; | |
94 | // cout<<"recoParamArray->GetEntriesFast() "<<recoParamArray.GetEntriesFast()<<endl; | |
95 | TIter next(recoParamArray->MakeIterator()); | |
96 | while ( (param = static_cast<AliT0RecoParam*>(next())) ) { | |
97 | if (!param) continue; | |
98 | if (defaultParam == param->GetEventSpecie()) { | |
99 | cout<<" Specie "<<param->GetEventSpecie()<<endl; | |
100 | param->SetEventSpecie(param->GetEventSpecie()); | |
101 | param->SetAsDefault(); | |
102 | defaultIsSet = kTRUE; | |
103 | } | |
104 | param->Print("FULL"); | |
105 | } | |
106 | ||
107 | ||
108 | AliCDBMetaData *md= new AliCDBMetaData(); | |
109 | md->SetResponsible("Alla"); | |
110 | md->SetComment("Reconstruction parameters T0"); | |
111 | md->SetAliRootVersion(gSystem->Getenv("ARVERSION")); | |
112 | md->SetBeamPeriod(0); | |
113 | AliCDBId id("T0/Calib/RecoParam",startRun,endRun); | |
114 | man->GetDefaultStorage()->Put(recoParamArray,id, md); | |
115 | ||
116 | } | |
117 | ||
118 |