]>
Commit | Line | Data |
---|---|---|
d5d0cab2 | 1 | #if !defined(__CINT__) || defined(__MAKECINT__) |
2 | #include "AliCDBManager.h" | |
3 | #include "AliITSCalibrationSDD.h" | |
54af1add | 4 | #include "AliITSCorrMapSDD.h" |
d5d0cab2 | 5 | #include "AliCDBMetaData.h" |
6 | #include "AliCDBStorage.h" | |
7 | #include "AliCDBId.h" | |
8 | #include "AliCDBPath.h" | |
9 | #include "AliCDBEntry.h" | |
10 | #include <TObjArray.h> | |
11 | #include <TRandom3.h> | |
12 | #endif | |
13 | ||
7e5db9ba | 14 | void StoreMapsSDD(Int_t firstRun=0,Int_t lastRun=AliCDBRunRange::Infinity(), Bool_t optSmear=kFALSE){ |
d5d0cab2 | 15 | /////////////////////////////////////////////////////////////////////// |
54af1add | 16 | // Macro to generate and store the correction maps for SDD // |
d5d0cab2 | 17 | // Generates: // |
54af1add | 18 | // 1 file with 520 AliITSCorrMapSDD drift maps (MapsTimeSDD) // |
d5d0cab2 | 19 | /////////////////////////////////////////////////////////////////////// |
20 | ||
21 | if(!AliCDBManager::Instance()->IsDefaultStorageSet()) { | |
22 | AliCDBManager::Instance()->SetDefaultStorage("local://OCDB"); | |
23 | } | |
24 | ||
25 | ||
ba0a07bf | 26 | AliCDBMetaData *md = new AliCDBMetaData(); |
27 | md->SetObjectClassName("TObjArray"); | |
28 | md->SetResponsible("Francesco Prino"); | |
29 | md->SetBeamPeriod(0); | |
30 | md->SetComment("Simulated data"); | |
d5d0cab2 | 31 | |
d5d0cab2 | 32 | |
33 | ||
d5d0cab2 | 34 | AliCDBId mapT("ITS/Calib/MapsTimeSDD",firstRun,lastRun); |
35 | TObjArray tmap(520); | |
36 | tmap.SetOwner(kFALSE); | |
37 | ||
38 | TRandom3 *gran = new TRandom3(); | |
39 | ||
54af1add | 40 | AliITSCorrMapSDD* mapTime0; |
41 | AliITSCorrMapSDD* mapTime1; | |
d5d0cab2 | 42 | for(Int_t mod=0;mod<260;mod++){ |
43 | // maps | |
44 | Char_t name[20]; | |
d5d0cab2 | 45 | sprintf(name,"DriftTimeMap_%d_%d\n",mod,0); |
ba0a07bf | 46 | Int_t nbinsan=1; |
7e5db9ba | 47 | if(optSmear && (mod==10 || mod==240)){ |
ba0a07bf | 48 | nbinsan=256; |
49 | sprintf(name,"DriftTimeMap_%d_%d\n",mod,0); | |
54af1add | 50 | mapTime0 = new AliITSCorrMap2DSDD(name,nbinsan,72); |
ba0a07bf | 51 | sprintf(name,"DriftTimeMap_%d_%d\n",mod,1); |
54af1add | 52 | mapTime1 = new AliITSCorrMap2DSDD(name,nbinsan,72); |
ba0a07bf | 53 | }else{ |
54 | sprintf(name,"DriftTimeMap_%d_%d\n",mod,0); | |
54af1add | 55 | mapTime0 = new AliITSCorrMap1DSDD(name,72); |
ba0a07bf | 56 | sprintf(name,"DriftTimeMap_%d_%d\n",mod,1); |
54af1add | 57 | mapTime1 = new AliITSCorrMap1DSDD(name,72); |
ba0a07bf | 58 | } |
59 | for(Int_t nan = 0;nan< nbinsan;nan++){ | |
d5d0cab2 | 60 | for(Int_t nt = 0;nt<36*2;nt++){ |
7e5db9ba | 61 | Double_t cnt0=0.; |
62 | Double_t cnt1=0.; | |
63 | if(optSmear){ | |
64 | cnt0=gran->Gaus(0,20); | |
65 | cnt1=gran->Gaus(0,20); | |
66 | } | |
67 | mapTime0->SetCellContent(nan,nt,cnt0); | |
68 | mapTime1->SetCellContent(nan,nt,cnt1); | |
d5d0cab2 | 69 | } |
70 | } | |
d5d0cab2 | 71 | tmap.Add(mapTime0); |
d5d0cab2 | 72 | tmap.Add(mapTime1); |
73 | printf("Added module %d\n",mod); | |
74 | } | |
75 | ||
ba0a07bf | 76 | AliCDBManager::Instance()->GetDefaultStorage()->Put(&tmap, mapT, md); |
d5d0cab2 | 77 | |
78 | } |