]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/macrosSDD/StoreMapsSDD.C
Protections on divisions
[u/mrichter/AliRoot.git] / ITS / macrosSDD / StoreMapsSDD.C
CommitLineData
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 14void 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}