]> git.uio.no Git - u/mrichter/AliRoot.git/blob - ITS/StoreMapsSDD.C
moving class
[u/mrichter/AliRoot.git] / ITS / StoreMapsSDD.C
1 #if !defined(__CINT__) || defined(__MAKECINT__)
2 #include "AliCDBManager.h"
3 #include "AliITSCalibrationSDD.h"
4 #include "AliITSMapSDD.h"
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
14 void StoreMapsSDD(Int_t firstRun=0,Int_t lastRun=9999999 ){
15   ///////////////////////////////////////////////////////////////////////
16   // Macro to generate and store the residual maps for SDD             //
17   // Generates:                                                        //
18   //  1 file with 520 AliITSMapSDD anode maps (MapsAnodeSDD)           //
19   //  1 file with 520 AliITSMapSDD drift coordinate maps (MapsTimeSDD) //
20   ///////////////////////////////////////////////////////////////////////
21   
22   if(!AliCDBManager::Instance()->IsDefaultStorageSet()) {
23     AliCDBManager::Instance()->SetDefaultStorage("local://OCDB");
24   }
25   
26
27   AliCDBMetaData *md3 = new AliCDBMetaData();
28   md3->SetObjectClassName("AliITSMapSDD");
29   md3->SetResponsible("Elisabetta Crescio, Francesco Prino");
30   md3->SetBeamPeriod(0);
31   md3->SetAliRootVersion("Head 24 sept. 2007");
32   md3->SetComment("This is a test");
33
34   AliCDBMetaData *md4 = new AliCDBMetaData();
35   md4->SetObjectClassName("AliITSMapSDD");
36   md4->SetResponsible("Elisabetta Crescio, Francesco Prino");
37   md4->SetBeamPeriod(0);
38   md4->SetAliRootVersion("Head 24 sept. 2007");
39   md4->SetComment("This is a test");
40
41
42   AliCDBId mapA("ITS/Calib/MapsAnodeSDD",firstRun,lastRun);
43   TObjArray anmap(520);
44   anmap.SetOwner(kFALSE);
45
46   AliCDBId mapT("ITS/Calib/MapsTimeSDD",firstRun,lastRun);
47   TObjArray tmap(520);
48   tmap.SetOwner(kFALSE);
49
50   TRandom3 *gran = new TRandom3();
51   
52   for(Int_t mod=0;mod<260;mod++){
53     // maps
54     Char_t name[20];
55     sprintf(name,"AnodeMap_%d_%d\n",mod,0);
56     AliITSMapSDD* mapAnodes0 = new AliITSMapSDD(name);
57     sprintf(name,"DriftTimeMap_%d_%d\n",mod,0);
58     AliITSMapSDD* mapTime0 = new AliITSMapSDD(name);
59     sprintf(name,"AnodeMap_%d_%d\n",mod,1);
60     AliITSMapSDD* mapAnodes1 = new AliITSMapSDD(name);
61     sprintf(name,"DriftTimeMap_%d_%d\n",mod,1);
62     AliITSMapSDD* mapTime1 = new AliITSMapSDD(name);
63
64     for(Int_t nan = 0;nan<256;nan++){
65       for(Int_t nt = 0;nt<36*2;nt++){
66         mapAnodes0->SetCellContent(nan,nt,gran->Gaus(0,20));
67         mapTime0->SetCellContent(nan,nt,gran->Gaus(0,20));
68         mapAnodes1->SetCellContent(nan,nt,gran->Gaus(0,20));
69         mapTime1->SetCellContent(nan,nt,gran->Gaus(0,20));                   
70       }
71     }
72     anmap.Add(mapAnodes0);
73     tmap.Add(mapTime0);
74     anmap.Add(mapAnodes1);
75     tmap.Add(mapTime1); 
76     printf("Added module %d\n",mod);
77   }
78     
79   AliCDBManager::Instance()->GetDefaultStorage()->Put(&anmap, mapA, md3);
80   AliCDBManager::Instance()->GetDefaultStorage()->Put(&tmap, mapT, md4);
81
82 }