]>
Commit | Line | Data |
---|---|---|
0607bddf | 1 | void MakeT0RecoParam(Int_t startRun = 0, Int_t endRun = AliCDBRunRange::Infinity(), AliRecoParam::EventSpecie_t defaultParam = AliRecoParam::kHighMult) |
593a6aab | 2 | //void MakeT0RecoParam(Int_t startRun = 122000, Int_t endRun = 126437, AliRecoParam::EventSpecie_t defaultParam = AliRecoParam::kHighMult) |
0607bddf | 3 | { |
4 | // Create T0 Calibration Object for Ideal calibration and | |
5 | // write it on CDB | |
6 | AliCDBManager *man = AliCDBManager::Instance(); | |
593a6aab | 7 | // man->SetDefaultStorage("local://$ALICE_ROOT/OCDB"); |
8 | man->SetDefaultStorage("local:///home/alla/alice/Feb11/TestCDB"); | |
0607bddf | 9 | man->SetRun(startRun); |
593a6aab | 10 | |
0607bddf | 11 | TObjArray *recoParamArray = new TObjArray(); |
12 | AliT0RecoParam* t0RecoParam; | |
13 | ||
14 | t0RecoParam = AliT0RecoParam::GetHighFluxParam(); | |
15 | t0RecoParam->SetEventSpecie(AliRecoParam::kHighMult); | |
593a6aab | 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.5; | |
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 | } | |
dbe5f5f8 | 40 | t0RecoParam->PrintParameters(); |
0607bddf | 41 | recoParamArray->AddLast(t0RecoParam); |
593a6aab | 42 | |
43 | //----------------------------------------- | |
0607bddf | 44 | |
45 | t0RecoParam = AliT0RecoParam::GetLowFluxParam(); | |
46 | t0RecoParam->SetEventSpecie(AliRecoParam::kLowMult); | |
593a6aab | 47 | Float_t low[500], high[500] ; |
48 | for (Int_t i=0; i<500; i++) | |
49 | { | |
50 | low[i] = 500; | |
51 | high[i]=50000; | |
52 | if(i>0 && i<13) { low[i] = pos[i-1] - 200; high[i] = pos[i-1] + 200;} | |
53 | if(i>56 && i<69) { low[i] = pos[i-57] - 200.; high[i]=pos[i-57] + 200;} | |
54 | // if(i<13) { low[i]=pos[i]-500.;high[i]=pos[i]+500.;} | |
55 | // if(i>56 && i<69) { low[i]=pos[i+13-57]-500.;high[i]=pos[i-57+13]+500.;} | |
56 | } | |
57 | ||
58 | // bad PMT | |
59 | // t0RecoParam->SetRefPoint(-1); | |
60 | for (Int_t i=0; i<24; i++) t0RecoParam->SetBadChannels(i,0); | |
61 | t0RecoParam->SetRefPoint(-1); | |
62 | // amplitude range for recontruction | |
63 | low[200]=0.8; | |
64 | high[200]=80; | |
65 | for (Int_t i=0; i<500; i++) { | |
66 | t0RecoParam->SetLow(i,low[i]); | |
67 | t0RecoParam->SetHigh(i,high[i]); | |
68 | } | |
dbe5f5f8 | 69 | t0RecoParam->PrintParameters(); |
0607bddf | 70 | recoParamArray->AddLast(t0RecoParam); |
593a6aab | 71 | //-------------------------------------- |
0607bddf | 72 | t0RecoParam = AliT0RecoParam::GetLaserTestParam(); |
73 | t0RecoParam->SetEventSpecie(AliRecoParam::kCalib); | |
74 | // t0RecoParam->Dump(); | |
75 | cout<<" t0RecoParam->GetEventSpecie "<< t0RecoParam->GetEventSpecie()<<endl; | |
593a6aab | 76 | for (Int_t i=0; i<107; i++) { |
77 | t0RecoParam->SetLow(i, 0); | |
78 | t0RecoParam->SetHigh(i, 50000); | |
dbe5f5f8 | 79 | } |
0607bddf | 80 | // t0RecoParam->Dump(); |
dbe5f5f8 | 81 | t0RecoParam->SetRefPoint(1); |
82 | t0RecoParam->PrintParameters(); | |
0607bddf | 83 | recoParamArray->AddLast(t0RecoParam); |
84 | ||
dbe5f5f8 | 85 | |
0607bddf | 86 | // Set the default |
87 | Bool_t defaultIsSet = kFALSE; | |
dbe5f5f8 | 88 | // cout<<"recoParamArray->GetEntriesFast() "<<recoParamArray.GetEntriesFast()<<endl; |
89 | TIter next(recoParamArray->MakeIterator()); | |
0607bddf | 90 | while ( (param = static_cast<AliT0RecoParam*>(next())) ) { |
91 | if (!param) continue; | |
92 | if (defaultParam == param->GetEventSpecie()) { | |
93 | cout<<" Specie "<<param->GetEventSpecie()<<endl; | |
94 | param->SetEventSpecie(param->GetEventSpecie()); | |
95 | param->SetAsDefault(); | |
96 | defaultIsSet = kTRUE; | |
97 | } | |
98 | param->Print("FULL"); | |
99 | } | |
100 | ||
101 | ||
102 | AliCDBMetaData *md= new AliCDBMetaData(); | |
103 | md->SetResponsible("Alla"); | |
104 | md->SetComment("Reconstruction parameters T0"); | |
105 | md->SetAliRootVersion(gSystem->Getenv("ARVERSION")); | |
106 | md->SetBeamPeriod(0); | |
107 | AliCDBId id("T0/Calib/RecoParam",startRun,endRun); | |
108 | man->GetDefaultStorage()->Put(recoParamArray,id, md); | |
109 | ||
110 | } | |
111 | ||
112 |