]> git.uio.no Git - u/mrichter/AliRoot.git/blame - ITS/StoreDriftSpeedSDD.C
Undo previous commit of this file
[u/mrichter/AliRoot.git] / ITS / StoreDriftSpeedSDD.C
CommitLineData
18da6e54 1#if !defined(__CINT__) || defined(__MAKECINT__)
2#include "AliCDBManager.h"
3#include "AliITSCalibrationSDD.h"
4#include "AliITSresponseSDD.h"
5#include "AliITSDriftSpeedSDD.h"
6#include "AliITSDriftSpeedArraySDD.h"
7#include "AliCDBMetaData.h"
8#include "AliCDBStorage.h"
9#include "AliCDBId.h"
10#include "AliCDBPath.h"
11#include "AliCDBEntry.h"
12#include <TObjArray.h>
13#include <TRandom3.h>
14#endif
15
16void StoreDriftSpeedSDD(Int_t firstRun=0,Int_t lastRun=9999999 ){
17 ///////////////////////////////////////////////////////////////////////
18 // Macro to generate and store the drift speed files for SDD //
19 // Generates: //
20 // 1 file with 520 AliITSDriftSpeedArraySDD objects with //
21 ///////////////////////////////////////////////////////////////////////
22
23 if(!AliCDBManager::Instance()->IsDefaultStorageSet()) {
24 AliCDBManager::Instance()->SetDefaultStorage("local://OCDB");
25 }
26
27
28 AliCDBMetaData *md1= new AliCDBMetaData(); // metaData describing the object
29 md1->SetObjectClassName("AliITSDriftSpeedArraySDD");
30 md1->SetResponsible("Elisabetta Crescio, Francesco Prino");
31 md1->SetBeamPeriod(0);
32 md1->SetAliRootVersion("Head 20 nov. 2007"); //root version
33 md1->SetComment("This is a test");
34
35 AliCDBId drSpeed("ITS/Calib/DriftSpeedSDD",firstRun, lastRun);
36 TObjArray vdrift(520);
37 vdrift.SetOwner(kFALSE);
38
39
40
41 Float_t drVelParam[4]={7.75,0.002344,-0.000009,0};
42 Float_t edrVelParam[4]={0.1,0,0,0};
43 Float_t drVel[4];
44 TRandom3 *gran = new TRandom3();
45
46 for(Int_t mod=0;mod<260;mod++){
47 AliITSDriftSpeedArraySDD *arr0 = new AliITSDriftSpeedArraySDD(5);
48 AliITSDriftSpeedArraySDD *arr1 = new AliITSDriftSpeedArraySDD(5);
49 for(Int_t iev=0; iev<5;iev++){
50 for(Int_t ic=0;ic<4;ic++) drVel[ic]=gran->Gaus(drVelParam[ic],edrVelParam[ic]);
51 AliITSDriftSpeedSDD *v0=new AliITSDriftSpeedSDD(iev*20,iev+1000,3,drVel);
52 arr0->AddDriftSpeed(v0);
53 for(Int_t ic=0;ic<4;ic++) drVel[ic]=gran->Gaus(drVelParam[ic],edrVelParam[ic]);
54 AliITSDriftSpeedSDD *v1=new AliITSDriftSpeedSDD(iev*20,iev+1000,3,drVel);
55 arr1->AddDriftSpeed(v1);
56 }
57 vdrift.Add(arr0);
58 vdrift.Add(arr1);
59 printf("Added module %d\n",mod);
60 }
61
62 AliCDBManager::Instance()->GetDefaultStorage()->Put(&vdrift, drSpeed, md1);
63}