AliRoot Core  v5-06-30 (35d6c57)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliTPCExBConical Class Reference

Calculates the space point distortions due to the conical shape of ALICE TPC. More...

#include <AliTPCExBConical.h>

Inheritance diagram for AliTPCExBConical:

Public Member Functions

 AliTPCExBConical ()
 
virtual ~AliTPCExBConical ()
 
virtual void Init ()
 
virtual void Update (const TTimeStamp &timeStamp)
 
virtual void SetOmegaTauT1T2 (Float_t omegaTau, Float_t t1, Float_t t2)
 
void SetC1C2 (Float_t c1, Float_t c2)
 
Float_t GetC1 () const
 
Float_t GetC2 () const
 
void SetConicalA (Float_t conicalA[3])
 
void SetConicalC (Float_t conicalC[3])
 
void SetConicalFactor (Float_t factor)
 
Float_t GetConicalA (Int_t i) const
 
Float_t GetConicalC (Int_t i) const
 
Float_t GetConicalFactor () const
 
virtual void Print (const Option_t *option="") const
 
- Public Member Functions inherited from AliTPCCorrection
 AliTPCCorrection ()
 
 AliTPCCorrection (const char *name, const char *title)
 
virtual ~AliTPCCorrection ()
 
virtual Bool_t AddCorrectionCompact (AliTPCCorrection *corr, Double_t weight)
 
void CorrectPoint (Float_t x[], Short_t roc)
 
void CorrectPointLocal (Float_t x[], Short_t roc)
 
void CorrectPoint (const Float_t x[], Short_t roc, Float_t xp[])
 
virtual void GetCorrectionDz (const Float_t x[], Short_t roc, Float_t dx[], Float_t delta)
 
virtual void GetCorrectionIntegralDz (const Float_t x[], Short_t roc, Float_t dx[], Float_t delta)
 
void DistortPoint (Float_t x[], Short_t roc)
 
void DistortPointLocal (Float_t x[], Short_t roc)
 
void DistortPoint (const Float_t x[], Short_t roc, Float_t xp[])
 
virtual void GetDistortion (const Float_t x[], Short_t roc, Float_t dx[])
 
virtual void GetDistortionDz (const Float_t x[], Short_t roc, Float_t dx[], Float_t delta)
 
virtual void GetDistortionIntegralDz (const Float_t x[], Short_t roc, Float_t dx[], Float_t delta)
 
virtual void SetCorrScaleFactor (Float_t)
 
virtual Float_t GetCorrScaleFactor () const
 
virtual void Print (Option_t *option="") const
 
TH2F * CreateHistoDRinXY (Float_t z=10., Int_t nx=100, Int_t ny=100)
 
TH2F * CreateHistoDRPhiinXY (Float_t z=10., Int_t nx=100, Int_t nphi=100)
 
TH2F * CreateHistoDZinXY (Float_t z=10., Int_t nx=100, Int_t ny=100)
 
TH2F * CreateHistoDRinZR (Float_t phi=0., Int_t nZ=100, Int_t nR=100)
 
TH2F * CreateHistoDRPhiinZR (Float_t phi=0., Int_t nZ=100, Int_t nR=100)
 
TH2F * CreateHistoDZinZR (Float_t phi=0., Int_t nZ=100, Int_t nR=100)
 
TTree * CreateDistortionTree (Double_t step=5)
 
AliExternalTrackParam * FitDistortedTrack (AliExternalTrackParam &trackIn, Double_t refX, Int_t dir, TTreeSRedirector *pcstream)
 
void StoreInOCDB (Int_t startRun, Int_t endRun, const char *comment=0)
 
void FastSimDistortedVertex (Double_t orgVertex[3], Int_t nTracks, AliESDVertex &aV, AliESDVertex &avOrg, AliESDVertex &cV, AliESDVertex &cvOrg, TTreeSRedirector *const pcstream, Double_t etaCuts)
 

Protected Member Functions

virtual void GetCorrection (const Float_t x[], const Short_t roc, Float_t dx[])
 
- Protected Member Functions inherited from AliTPCCorrection
TH2F * CreateTH2F (const char *name, const char *title, const char *xlabel, const char *ylabel, const char *zlabel, Int_t nbinsx, Double_t xlow, Double_t xup, Int_t nbinsy, Double_t ylow, Double_t yup)
 
void Interpolate2DEdistortion (Int_t order, Double_t r, Double_t z, const Double_t er[kNZ][kNR], Double_t &erValue)
 
void Interpolate3DEdistortion (Int_t order, Double_t r, Float_t phi, Double_t z, const Double_t er[kNZ][kNPhi][kNR], const Double_t ephi[kNZ][kNPhi][kNR], const Double_t ez[kNZ][kNPhi][kNR], Double_t &erValue, Double_t &ephiValue, Double_t &ezValue)
 
Double_t Interpolate2DTable (Int_t order, Double_t x, Double_t y, Int_t nx, Int_t ny, const Double_t xv[], const Double_t yv[], const TMatrixD &array)
 
Double_t Interpolate3DTable (Int_t order, Double_t x, Double_t y, Double_t z, Int_t nx, Int_t ny, Int_t nz, const Double_t xv[], const Double_t yv[], const Double_t zv[], TMatrixD **arrayofArrays)
 
Double_t Interpolate (const Double_t xArray[], const Double_t yArray[], Int_t order, Double_t x)
 
void Search (Int_t n, const Double_t xArray[], Double_t x, Int_t &low)
 
Float_t Interpolate2DTable (Int_t order, Double_t x, Double_t y, Int_t nx, Int_t ny, const Double_t xv[], const Double_t yv[], const TMatrixF &array)
 
Float_t Interpolate3DTable (Int_t order, Double_t x, Double_t y, Double_t z, Int_t nx, Int_t ny, Int_t nz, const Double_t xv[], const Double_t yv[], const Double_t zv[], TMatrixF **arrayofArrays)
 
Float_t Interpolate (const Double_t xArray[], const Float_t yArray[], Int_t order, Double_t x)
 
virtual Int_t IsPowerOfTwo (Int_t i) const
 
void PoissonRelaxation2D (TMatrixD &arrayV, TMatrixD &chargeDensity, TMatrixD &arrayErOverEz, TMatrixD &arrayDeltaEz, Int_t rows, Int_t columns, Int_t iterations, Bool_t rocDisplacement=kTRUE)
 
void PoissonRelaxation3D (TMatrixD **arrayofArrayV, TMatrixD **arrayofChargeDensities, TMatrixD **arrayofEroverEz, TMatrixD **arrayofEPhioverEz, TMatrixD **arrayofEz, Int_t rows, Int_t columns, Int_t phislices, Float_t deltaphi, Int_t iterations, Int_t summetry, Bool_t rocDisplacement=kTRUE)
 
void SetIsLocal (Bool_t isLocal)
 
Bool_t IsLocal () const
 

Private Member Functions

 ClassDef (AliTPCExBConical, 1)
 

Private Attributes

Float_t fC1
 coefficient C1 (compare Jim Thomas's notes for definitions) More...
 
Float_t fC2
 coefficient C2 (compare Jim Thomas's notes for definitions) More...
 
Float_t fConicalFactor
 empirical factor - transform conical angle to delta More...
 
Float_t fConicalA [3]
 Conical shape parameterization A side. More...
 
Float_t fConicalC [3]
 Conical shape parameterization C side. More...
 

Additional Inherited Members

- Public Types inherited from AliTPCCorrection
enum  CompositionType { kParallel, kQueue }
 
- Static Public Member Functions inherited from AliTPCCorrection
static void MakeDistortionMap (THnSparse *his0, TTreeSRedirector *pcstream, const char *hname, Int_t run, Float_t refX, Int_t type, Int_t integ=1)
 
static void MakeDistortionMapCosmic (THnSparse *his0, TTreeSRedirector *pcstream, const char *hname, Int_t run, Float_t refX, Int_t type)
 
static void MakeDistortionMapSector (THnSparse *his0, TTreeSRedirector *pcstream, const char *hname, Int_t run, Int_t type)
 
static void MakeTrackDistortionTree (TTree *tinput, Int_t dtype, Int_t ptype, const TObjArray *corrArray, Int_t step=1, Int_t offset=0, Bool_t debug=0)
 
static void MakeSectorDistortionTree (TTree *tinput, Int_t dtype, Int_t ptype, const TObjArray *corrArray, Int_t step=1, Int_t offset=0, Bool_t debug=0)
 
static void MakeLaserDistortionTreeOld (TTree *tree, TObjArray *corrArray, Int_t itype)
 
static void MakeLaserDistortionTree (TTree *tree, TObjArray *corrArray, Int_t itype)
 
static void AddVisualCorrection (AliTPCCorrection *corr, Int_t position)
 
static AliTPCCorrectionGetVisualCorrection (Int_t position)
 
static AliTPCCorrectionGetVisualCorrection (const char *corName)
 
static TObjArrayGetVisualCorrections ()
 
static Double_t GetCorrSector (Double_t sector, Double_t r, Double_t kZ, Int_t axisType, Int_t corrType=0)
 
static Double_t GetCorrXYZ (Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0)
 
static Double_t GetCorrXYZDz (Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0, Double_t delta=5)
 
static Double_t GetCorrXYZIntegrateZ (Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0, Double_t delta=5)
 
static Double_t GetDistXYZ (Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0)
 
static Double_t GetDistXYZDz (Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0, Double_t delta=5)
 
static Double_t GetDistXYZIntegrateZ (Double_t gx, Double_t gy, Double_t gz, Int_t axisType, Int_t corrType=0, Double_t delta=5)
 
- Protected Types inherited from AliTPCCorrection
enum  { kNR = 72 }
 
enum  { kNPhi = 18*10+1 }
 
enum  { kNZ = 166 }
 
- Protected Attributes inherited from AliTPCCorrection
Double_t fgkRList [kNR]
 points in the radial direction (for the lookup table) More...
 
Double_t fgkPhiList [kNPhi]
 points in the phi direction (for the lookup table) More...
 
Double_t fgkZList [kNZ]
 points in the z direction (for the lookup table) More...
 
Int_t fILow
 
Int_t fJLow
 
Int_t fKLow
 variable to help in the interpolation More...
 
Double_t fT1
 tensor term of wt - T1 More...
 
Double_t fT2
 tensor term of wt - T2 More...
 
Bool_t fIsLocal
 switch to indicate that the distortion is a local vector drphi/dz, dr/dz More...
 
- Static Protected Attributes inherited from AliTPCCorrection
static const Double_t fgkTPCZ0 = 249.7
 nominal gating grid position More...
 
static const Double_t fgkIFCRadius = 83.5
 Mean Radius of the Inner Field Cage ( 82.43 min, 83.70 max) (cm) More...
 
static const Double_t fgkOFCRadius = 254.5
 Mean Radius of the Outer Field Cage (252.55 min, 256.45 max) (cm) More...
 
static const Double_t fgkZOffSet = 0.2
 Offset from CE: calculate all distortions closer to CE as if at this point. More...
 
static const Double_t fgkCathodeV = -100000.0
 Cathode Voltage (volts) More...
 
static const Double_t fgkGG = -70.0
 Gating Grid voltage (volts) More...
 
static const Double_t fgkdvdE = 0.0024
 [cm/V] drift velocity dependency on the E field (from Magboltz for NeCO2N2 at standard environment) More...
 
static const Double_t fgkEM = -1.602176487e-19/9.10938215e-31
 charge/mass in [C/kg] More...
 
static const Double_t fgke0 = 8.854187817e-12
 vacuum permittivity [A·s/(V·m)] More...
 
static TObjArrayfgVisualCorrection =0
 array of orrection for visualization More...
 

Detailed Description

Calculates the space point distortions due to the conical shape of ALICE TPC.

Calculates the space point distortions due to the conical shape of ALICE TPC.

Becasue of mechanical deformation ALICE TPC, chambers are misaligned in z direction TPC has roughly conical shape

For the moment ONLY efective correction used - NOT EDGE EFFECT calcualted

The class allows "effective Omega Tau" corrections.

Example usage:

conical.SetOmegaTauT1T2(0.32,1.,1.); // values ideally from OCDB
conical.SetXConical(0.001); // set conical in X direction (in rad)
// plot dRPhi distortions ...
conical.CreateHistoDRPhiinZR(1.,100,100)->Draw("surf2");
Author
Marian Ivanov, Jim Thomas, Magnus Mager, Stefan Rossegger
Date
02/05/2010
Author
Maarian Ivanov, Jim Thomas, Magnus Mager, Stefan Rossegger
Date
02/05/2010

Definition at line 15 of file AliTPCExBConical.h.

Constructor & Destructor Documentation

AliTPCExBConical::AliTPCExBConical ( )

Definition at line 53 of file AliTPCExBConical.cxx.

AliTPCExBConical::~AliTPCExBConical ( )
virtual

default destructor

Definition at line 66 of file AliTPCExBConical.cxx.

Member Function Documentation

AliTPCExBConical::ClassDef ( AliTPCExBConical  ,
 
)
private
Float_t AliTPCExBConical::GetC1 ( ) const
inline

Definition at line 32 of file AliTPCExBConical.h.

Float_t AliTPCExBConical::GetC2 ( ) const
inline

Definition at line 33 of file AliTPCExBConical.h.

Float_t AliTPCExBConical::GetConicalA ( Int_t  i) const
inline

Definition at line 40 of file AliTPCExBConical.h.

Float_t AliTPCExBConical::GetConicalC ( Int_t  i) const
inline

Definition at line 41 of file AliTPCExBConical.h.

Float_t AliTPCExBConical::GetConicalFactor ( ) const
inline

Definition at line 42 of file AliTPCExBConical.h.

void AliTPCExBConical::GetCorrection ( const Float_t  x[],
const Short_t  roc,
Float_t  dx[] 
)
protectedvirtual

Calculates the correction due conical shape

Reimplemented from AliTPCCorrection.

Definition at line 109 of file AliTPCExBConical.cxx.

void AliTPCExBConical::Init ( )
virtual

Initialization funtion

Reimplemented from AliTPCCorrection.

Definition at line 73 of file AliTPCExBConical.cxx.

void AliTPCExBConical::Print ( const Option_t *  option = "") const
virtual

Print function to check the settings (e.g. the conical in the X direction) option=="a" prints the C0 and C1 coefficents for calibration purposes

Definition at line 134 of file AliTPCExBConical.cxx.

void AliTPCExBConical::SetC1C2 ( Float_t  c1,
Float_t  c2 
)
inline

Definition at line 31 of file AliTPCExBConical.h.

void AliTPCExBConical::SetConicalA ( Float_t  conicalA[3])

set paramters of conical shape - A side - obtained from alignment

Definition at line 148 of file AliTPCExBConical.cxx.

void AliTPCExBConical::SetConicalC ( Float_t  conicalC[3])

set paramters of conical shape -C side obtained form the alignemnt

Definition at line 155 of file AliTPCExBConical.cxx.

void AliTPCExBConical::SetConicalFactor ( Float_t  factor)
inline

Definition at line 38 of file AliTPCExBConical.h.

virtual void AliTPCExBConical::SetOmegaTauT1T2 ( Float_t  omegaTau,
Float_t  t1,
Float_t  t2 
)
inlinevirtual

Reimplemented from AliTPCCorrection.

Definition at line 26 of file AliTPCExBConical.h.

Referenced by Init(), and Update().

void AliTPCExBConical::Update ( const TTimeStamp &  timeStamp)
virtual

Update function

Reimplemented from AliTPCCorrection.

Definition at line 90 of file AliTPCExBConical.cxx.

Member Data Documentation

Float_t AliTPCExBConical::fC1
private

coefficient C1 (compare Jim Thomas's notes for definitions)

Definition at line 50 of file AliTPCExBConical.h.

Referenced by GetC1(), GetCorrection(), SetC1C2(), and SetOmegaTauT1T2().

Float_t AliTPCExBConical::fC2
private

coefficient C2 (compare Jim Thomas's notes for definitions)

Definition at line 51 of file AliTPCExBConical.h.

Referenced by GetC2(), GetCorrection(), SetC1C2(), and SetOmegaTauT1T2().

Float_t AliTPCExBConical::fConicalA[3]
private

Conical shape parameterization A side.

Definition at line 53 of file AliTPCExBConical.h.

Referenced by GetConicalA(), GetCorrection(), Print(), and SetConicalA().

Float_t AliTPCExBConical::fConicalC[3]
private

Conical shape parameterization C side.

Definition at line 54 of file AliTPCExBConical.h.

Referenced by GetConicalC(), GetCorrection(), Print(), and SetConicalC().

Float_t AliTPCExBConical::fConicalFactor
private

empirical factor - transform conical angle to delta

Definition at line 52 of file AliTPCExBConical.h.

Referenced by GetConicalFactor(), GetCorrection(), Print(), and SetConicalFactor().


The documentation for this class was generated from the following files: