]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PHOS/MakePHOSZeroMisAlignment.C
Runloader is updated when moving to next file (quick fix).
[u/mrichter/AliRoot.git] / PHOS / MakePHOSZeroMisAlignment.C
CommitLineData
d3a9c52a 1void MakePHOSZeroMisAlignment(){
2 // Create TClonesArray of zero misalignment objects for PHOS
3 //
4 TClonesArray *array = new TClonesArray("AliAlignObjAngles",11);
5 TClonesArray &alobj = *array;
6
7 AliAlignObjAngles a;
8
9 Double_t dx=0., dy=0., dz=0., dpsi=0., dtheta=0., dphi=0.;
10
11 Int_t iIndex=0; // let all modules have index=0 in a layer with no LUT
12 AliAlignObj::ELayerID iLayer = AliAlignObj::kInvalidLayer;
13 UShort_t volid = AliAlignObj::LayerToVolUID(iLayer,iIndex);
14
a3627590 15 Int_t i=0 ;
d3a9c52a 16 // Alignment for 5 PHOS modules
a3627590 17 new(alobj[i++]) AliAlignObjAngles("PHOS/Module1",
d3a9c52a 18 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
a3627590 19 new(alobj[i++]) AliAlignObjAngles("PHOS/Module2",
d3a9c52a 20 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
a3627590 21 new(alobj[i++]) AliAlignObjAngles("PHOS/Module3",
d3a9c52a 22 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
a3627590 23 new(alobj[i++]) AliAlignObjAngles("PHOS/Module4",
d3a9c52a 24 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
a3627590 25 new(alobj[i++]) AliAlignObjAngles("PHOS/Module5",
d3a9c52a 26 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
27
a3627590 28 // Alignment of CPV modules
29 new(alobj[i++]) AliAlignObjAngles("PHOS/Module1/CPV",
30 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
31 new(alobj[i++]) AliAlignObjAngles("PHOS/Module2/CPV",
32 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
33 new(alobj[i++]) AliAlignObjAngles("PHOS/Module3/CPV",
34 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
35 new(alobj[i++]) AliAlignObjAngles("PHOS/Module4/CPV",
36 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
37 new(alobj[i++]) AliAlignObjAngles("PHOS/Module5/CPV",
38 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
39
40
d3a9c52a 41 // Alignment for PHOS cradle
a3627590 42 new(alobj[i++]) AliAlignObjAngles("PHOS/Cradle0",
d3a9c52a 43 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
a3627590 44 new(alobj[i++]) AliAlignObjAngles("PHOS/Cradle1",
d3a9c52a 45 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
46
47 // Alignment for cradle wheels
a3627590 48 new(alobj[i++]) AliAlignObjAngles("PHOS/Wheel0",
d3a9c52a 49 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
a3627590 50 new(alobj[i++]) AliAlignObjAngles("PHOS/Wheel1",
d3a9c52a 51 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
a3627590 52 new(alobj[i++]) AliAlignObjAngles("PHOS/Wheel2",
d3a9c52a 53 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
a3627590 54 new(alobj[i++]) AliAlignObjAngles("PHOS/Wheel3",
d3a9c52a 55 volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE);
56
57
a3627590 58 if(!gSystem->Getenv("$TOCDB")){
d3a9c52a 59 // save on file
60 TFile f("PHOSzeroMisalignment.root","RECREATE");
61 if(!f) cerr<<"cannot open file for output\n";
62 f.cd();
63 f.WriteObject(array,"PHOSAlignObjs","kSingleKey");
64 f.Close();
65 }else{
66 // save in CDB storage
a3627590 67 const char* Storage = gSystem->Getenv("$STORAGE");
d3a9c52a 68 AliCDBManager *CDB = AliCDBManager::Instance();
69 AliCDBStorage* storage = CDB->GetStorage(Storage);
70 AliCDBMetaData *md= new AliCDBMetaData();
71 md->SetResponsible("Yuri Kharlov");
72 md->SetComment("Zero misalignment objects");
a3627590 73 md->SetAliRootVersion(gSystem->Getenv("$ARVERSION"));
d3a9c52a 74 AliCDBId id("PHOS/Align/Data",0,9999999);
75 storage->Put(array,id, md);
76 }
77
78 array->Delete();
79
80}