From a362759049bb26ddc3a16954d3e598d4fe3dddf1 Mon Sep 17 00:00:00 2001 From: kharlov Date: Tue, 6 Mar 2007 06:59:53 +0000 Subject: [PATCH] DP:Misalignment of CPV added --- PHOS/AliPHOSv0.cxx | 17 ++++++++++++- PHOS/MakePHOSZeroMisAlignment.C | 42 ++++++++++++++++++++++----------- 2 files changed, 44 insertions(+), 15 deletions(-) diff --git a/PHOS/AliPHOSv0.cxx b/PHOS/AliPHOSv0.cxx index 6eb5c1f69dd..c302c6947bf 100644 --- a/PHOS/AliPHOSv0.cxx +++ b/PHOS/AliPHOSv0.cxx @@ -17,6 +17,9 @@ /* History of cvs commits: * * $Log$ + * Revision 1.85 2007/03/01 11:37:37 kharlov + * Strip units changed from 8x1 to 8x2 (T.Pocheptsov) + * * Revision 1.84 2006/12/20 16:56:43 kharlov * Optional geometry without CPV * @@ -431,7 +434,6 @@ void AliPHOSv0::CreateGeometryforEMC() Float_t* splate = emcg->GetSupportPlateHalfSize(); y = -splate[1] ; Float_t* acel = emcg->GetAirCellHalfSize() ; - Int_t icel ; for(Int_t lev = 2, icel = 1; icel <= emcg->GetNCellsXInStrip()*emcg->GetNCellsZInStrip(); icel += 2, lev += 2){ Float_t x = (2*(lev / 2) - 1 - emcg->GetNCellsXInStrip())* acel[0] ; @@ -906,6 +908,19 @@ void AliPHOSv0::AddAlignableVolumes() const gGeoManager->SetAlignableEntry(symname.Data(),volpath.Data()); } + //Aligning of CPV should be done for volume PCPV_1 + symbModuleName="PHOS/Module"; + for(Int_t iModule=1; iModule<=nModules; iModule++){ + volpath = physModulePath; + volpath += iModule; + volpath += "/PCPV_1"; + symname = symbModuleName; + symname += iModule; + symname += "/CPV"; + gGeoManager->SetAlignableEntry(symname.Data(),volpath.Data()); + } + + // Alignable cradle walls // Volume path /ALIC_1/PCRA_ => symbolic name /PHOS/Cradle, =0,1 diff --git a/PHOS/MakePHOSZeroMisAlignment.C b/PHOS/MakePHOSZeroMisAlignment.C index 42511326bb3..97102753fed 100644 --- a/PHOS/MakePHOSZeroMisAlignment.C +++ b/PHOS/MakePHOSZeroMisAlignment.C @@ -12,36 +12,50 @@ void MakePHOSZeroMisAlignment(){ AliAlignObj::ELayerID iLayer = AliAlignObj::kInvalidLayer; UShort_t volid = AliAlignObj::LayerToVolUID(iLayer,iIndex); + Int_t i=0 ; // Alignment for 5 PHOS modules - new(alobj[0]) AliAlignObjAngles("PHOS/Module1", + new(alobj[i++]) AliAlignObjAngles("PHOS/Module1", volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); - new(alobj[1]) AliAlignObjAngles("PHOS/Module2", + new(alobj[i++]) AliAlignObjAngles("PHOS/Module2", volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); - new(alobj[2]) AliAlignObjAngles("PHOS/Module3", + new(alobj[i++]) AliAlignObjAngles("PHOS/Module3", volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); - new(alobj[3]) AliAlignObjAngles("PHOS/Module4", + new(alobj[i++]) AliAlignObjAngles("PHOS/Module4", volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); - new(alobj[4]) AliAlignObjAngles("PHOS/Module5", + new(alobj[i++]) AliAlignObjAngles("PHOS/Module5", volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); + // Alignment of CPV modules + new(alobj[i++]) AliAlignObjAngles("PHOS/Module1/CPV", + volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); + new(alobj[i++]) AliAlignObjAngles("PHOS/Module2/CPV", + volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); + new(alobj[i++]) AliAlignObjAngles("PHOS/Module3/CPV", + volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); + new(alobj[i++]) AliAlignObjAngles("PHOS/Module4/CPV", + volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); + new(alobj[i++]) AliAlignObjAngles("PHOS/Module5/CPV", + volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); + + // Alignment for PHOS cradle - new(alobj[5]) AliAlignObjAngles("PHOS/Cradle0", + new(alobj[i++]) AliAlignObjAngles("PHOS/Cradle0", volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); - new(alobj[6]) AliAlignObjAngles("PHOS/Cradle1", + new(alobj[i++]) AliAlignObjAngles("PHOS/Cradle1", volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); // Alignment for cradle wheels - new(alobj[7]) AliAlignObjAngles("PHOS/Wheel0", + new(alobj[i++]) AliAlignObjAngles("PHOS/Wheel0", volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); - new(alobj[8]) AliAlignObjAngles("PHOS/Wheel1", + new(alobj[i++]) AliAlignObjAngles("PHOS/Wheel1", volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); - new(alobj[9]) AliAlignObjAngles("PHOS/Wheel2", + new(alobj[i++]) AliAlignObjAngles("PHOS/Wheel2", volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); - new(alobj[10]) AliAlignObjAngles("PHOS/Wheel3", + new(alobj[i++]) AliAlignObjAngles("PHOS/Wheel3", volid, dx, dy, dz, dpsi, dtheta, dphi, kTRUE); - if( gSystem->Getenv("TOCDB") != TString("kTRUE") ){ + if(!gSystem->Getenv("$TOCDB")){ // save on file TFile f("PHOSzeroMisalignment.root","RECREATE"); if(!f) cerr<<"cannot open file for output\n"; @@ -50,13 +64,13 @@ void MakePHOSZeroMisAlignment(){ f.Close(); }else{ // save in CDB storage - const char* Storage = gSystem->Getenv("STORAGE"); + const char* Storage = gSystem->Getenv("$STORAGE"); AliCDBManager *CDB = AliCDBManager::Instance(); AliCDBStorage* storage = CDB->GetStorage(Storage); AliCDBMetaData *md= new AliCDBMetaData(); md->SetResponsible("Yuri Kharlov"); md->SetComment("Zero misalignment objects"); - md->SetAliRootVersion(gSystem->Getenv("ARVERSION")); + md->SetAliRootVersion(gSystem->Getenv("$ARVERSION")); AliCDBId id("PHOS/Align/Data",0,9999999); storage->Put(array,id, md); } -- 2.31.1