Minor updates (and bugfixes) to allow an efficient fitting of the physical
authorsrossegg <srossegg@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 27 Aug 2010 17:39:18 +0000 (17:39 +0000)
committersrossegg <srossegg@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 27 Aug 2010 17:39:18 +0000 (17:39 +0000)
parameters within the models

TPC/AliTPCCorrection.cxx
TPC/AliTPCFCVoltError3D.h
TPC/AliTPCROCVoltError3D.h
TPC/AliTPCcalibAlign.cxx

index 07b8b0f..be56ba3 100644 (file)
@@ -1922,6 +1922,7 @@ void AliTPCCorrection::AddVisualCorrection(AliTPCCorrection* corr, Int_t positio
   // NOTE - class is not owner of correction
   //     
   if (!fgVisualCorrection) fgVisualCorrection=new TObjArray;
+  if (position>=fgVisualCorrection->GetEntriesFast()) fgVisualCorrection->Expand(position*2);
   fgVisualCorrection->AddAt(corr, position);
 }
 
index f00c9bb..f0e7ba9 100644 (file)
@@ -77,8 +77,8 @@ private:
   Float_t fRodVoltShiftC[36];      // Rod (&strips) shift in Volt (40V~1mm) 
   Float_t fRotatedClipVoltA[2];    // rotated clips at HV rod
   Float_t fRotatedClipVoltC[2];    // rotated clips at HV rod
-  Float_t fOFCRodShiftA[18];        // only Rod shift on OFC
-  Float_t fOFCRodShiftC[18];        // only Rod shift on OFC
+  Float_t fOFCRodShiftA[18];       // only Rod shift on OFC
+  Float_t fOFCRodShiftC[18];       // only Rod shift on OFC
 
   Bool_t fInitLookUp;           // flag to check it the Look Up table was created (SUM)
   Bool_t fInitLookUpBasic[5];   // flag if the basic lookup was created (shifted Rod (IFC,OFC) or rotated clip (IFC,OFC))
@@ -122,7 +122,7 @@ private:
   TMatrixD *fLookUpBasic5DeltaEz[kPhiSlices];    // Array to store electric field integral 
 
 
-  ClassDef(AliTPCFCVoltError3D,0); //
+  ClassDef(AliTPCFCVoltError3D,1); //
 };
 
 #endif
index 7c81cae..8109646 100644 (file)
@@ -76,11 +76,11 @@ private:
   // basic numbers for the poisson relaxation //can be set individually in each class
   enum {kRows   =257}; // grid size in r direction used in the poisson relaxation // ( 2**n + 1 ) eg. 65, 129, 257 etc.
   enum {kColumns=129}; // grid size in z direction used in the poisson relaxation // ( 2**m + 1 ) eg. 65, 129, 257 etc.
-  enum {kPhiSlicesPerSector=6};  // phi slices per sector
+  enum {kPhiSlicesPerSector=10};  // phi slices per sector
   enum {kPhiSlices = 18*kPhiSlicesPerSector };    // number of points in phi for the basic lookup tables
   enum {kIterations=100}; // Number of iterations within the poisson relaxation 
 
-  ClassDef(AliTPCROCVoltError3D,0); 
+  ClassDef(AliTPCROCVoltError3D,1); 
 };
 
 #endif
index 27cd6fd..ef84bc9 100644 (file)
@@ -2723,7 +2723,7 @@ void AliTPCcalibAlign::UpdateClusterDeltaField(const AliTPCseed * seed){
     resVector[1]= 9.*TMath::ATan2(xyz[1],xyz[0])/TMath::Pi();
     if (resVector[1]<0) resVector[1]+=18;
     resVector[2]= TMath::Sqrt(cl->GetX()*cl->GetX()+cl->GetY()*cl->GetY());
-    resVector[3]= cl->GetZ()/cl->GetX();
+    resVector[3]= cl->GetZ()/resVector[2];
     //
     resVector[0]= cl->GetY()-trackOut.GetY();
     fClusterDelta[0]->Fill(resVector);
@@ -2773,7 +2773,7 @@ void AliTPCcalibAlign::UpdateClusterDeltaField(const AliTPCseed * seed){
     resVector[1]= 9.*TMath::ATan2(xyz[1],xyz[0])/TMath::Pi();
     if (resVector[1]<0) resVector[1]+=18;
     resVector[2]= TMath::Sqrt(cl->GetX()*cl->GetX()+cl->GetY()*cl->GetY());
-    resVector[3]= cl->GetZ()/cl->GetX();
+    resVector[3]= cl->GetZ()/resVector[2];
     //
     resVector[0]= cl->GetY()-trackIn.GetY();
     fClusterDelta[0]->Fill(resVector);
@@ -2964,7 +2964,7 @@ void  AliTPCcalibAlign::UpdateAlignSector(const AliTPCseed * track,Int_t isec){
       Double_t resVector[5];
       resVector[1]= 9.*gphi/TMath::Pi();
       resVector[2]= TMath::Sqrt(c->GetX()*c->GetX()+c->GetY()*c->GetY());
-      resVector[3]= c->GetZ()/c->GetX();
+      resVector[3]= c->GetZ()/resVector[2];
       //
       //
       resVector[0]= c->GetY()-yfitC;