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)
4 // Create T0 Calibration Object for Ideal calibration and
6 AliCDBManager *man = AliCDBManager::Instance();
7 // man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
8 man->SetDefaultStorage("local:///home/alla/alice/Feb11/TestCDB");
11 TObjArray *recoParamArray = new TObjArray();
12 AliT0RecoParam* t0RecoParam;
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++)
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.;}
30 t0RecoParam->SetRefPoint(-1);
31 // amplitude range for recontruction
34 for (Int_t i=0; i<24; i++) t0RecoParam-> SetBadChannels(i,0);
36 for (Int_t i=0; i<500; i++) {
37 t0RecoParam->SetLow(i,low[i]);
38 t0RecoParam->SetHigh(i,high[i]);
40 t0RecoParam->PrintParameters();
41 recoParamArray->AddLast(t0RecoParam);
43 //-----------------------------------------
45 t0RecoParam = AliT0RecoParam::GetLowFluxParam();
46 t0RecoParam->SetEventSpecie(AliRecoParam::kLowMult);
47 Float_t low[500], high[500] ;
48 for (Int_t i=0; i<500; i++)
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.;}
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
65 for (Int_t i=0; i<500; i++) {
66 t0RecoParam->SetLow(i,low[i]);
67 t0RecoParam->SetHigh(i,high[i]);
69 t0RecoParam->PrintParameters();
70 recoParamArray->AddLast(t0RecoParam);
71 //--------------------------------------
72 t0RecoParam = AliT0RecoParam::GetLaserTestParam();
73 t0RecoParam->SetEventSpecie(AliRecoParam::kCalib);
74 // t0RecoParam->Dump();
75 cout<<" t0RecoParam->GetEventSpecie "<< t0RecoParam->GetEventSpecie()<<endl;
76 for (Int_t i=0; i<107; i++) {
77 t0RecoParam->SetLow(i, 0);
78 t0RecoParam->SetHigh(i, 50000);
80 // t0RecoParam->Dump();
81 t0RecoParam->SetRefPoint(1);
82 t0RecoParam->PrintParameters();
83 recoParamArray->AddLast(t0RecoParam);
87 Bool_t defaultIsSet = kFALSE;
88 // cout<<"recoParamArray->GetEntriesFast() "<<recoParamArray.GetEntriesFast()<<endl;
89 TIter next(recoParamArray->MakeIterator());
90 while ( (param = static_cast<AliT0RecoParam*>(next())) ) {
92 if (defaultParam == param->GetEventSpecie()) {
93 cout<<" Specie "<<param->GetEventSpecie()<<endl;
94 param->SetEventSpecie(param->GetEventSpecie());
95 param->SetAsDefault();
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);