![]() |
AliRoot Core
v5-06-30 (35d6c57)
|
AliTPCExBBShape class. More...
#include <AliTPCExBBShape.h>
Public Member Functions | |
AliTPCExBBShape () | |
virtual | ~AliTPCExBBShape () |
virtual Bool_t | AddCorrectionCompact (AliTPCCorrection *corr, Double_t weight) |
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 | SetBField (const AliMagF *bField) |
AliMagF * | GetBField () const |
virtual void | GetCorrection (const Float_t x[], const Short_t roc, Float_t dx[]) |
void | GetBxAndByOverBz (const Float_t x[], const Short_t roc, Float_t BxByOverBz[]) |
virtual void | Print (Option_t *option="") const |
Double_t | GetScaling () const |
![]() | |
AliTPCCorrection () | |
AliTPCCorrection (const char *name, const char *title) | |
virtual | ~AliTPCCorrection () |
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 |
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) |
Static Public Member Functions | |
static Double_t | GetBFieldXYZ (Double_t gx, Double_t gy, Double_t gz, Int_t axisType) |
![]() | |
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 AliTPCCorrection * | GetVisualCorrection (Int_t position) |
static AliTPCCorrection * | GetVisualCorrection (const char *corName) |
static TObjArray * | GetVisualCorrections () |
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) |
Private Member Functions | |
AliTPCExBBShape & | operator= (const AliTPCExBBShape &) |
AliTPCExBBShape (const AliTPCExBBShape &) | |
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 | fScaling |
scaling factor to rescale distortion - for tests purposes only More... | |
AliMagF * | fBField |
pointer to magnetic field More... | |
Additional Inherited Members | |
![]() | |
enum | CompositionType { kParallel, kQueue } |
![]() | |
enum | { kNR = 72 } |
enum | { kNPhi = 18*10+1 } |
enum | { kNZ = 166 } |
![]() | |
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 |
![]() | |
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 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 TObjArray * | fgVisualCorrection =0 |
array of orrection for visualization More... | |
AliTPCExBBShape class.
AliExBBShape class.
The class calculates the space point distortions due to the B field shape imperfections using a second order technique based on integrals over Bz (e.g. int By/Bz) obtained via the AliMagF class. The essential input for this class is the magnetic field maps which can be set via the function SetBField.
The class allows "effective Omega Tau" corrections.
Definition at line 25 of file AliTPCExBBShape.h.
AliTPCExBBShape::AliTPCExBBShape | ( | ) |
default constructor
Definition at line 27 of file AliTPCExBBShape.cxx.
|
virtual |
virtual destructor
Definition at line 37 of file AliTPCExBBShape.cxx.
|
private |
|
virtual |
Add correction and make them compact Assumptions:
Reimplemented from AliTPCCorrection.
Definition at line 45 of file AliTPCExBBShape.cxx.
|
inline |
Definition at line 47 of file AliTPCExBBShape.h.
|
static |
return B field at given x,y,z
Definition at line 172 of file AliTPCExBBShape.cxx.
void AliTPCExBBShape::GetBxAndByOverBz | ( | const Float_t | x[], |
const Short_t | roc, | ||
Float_t | BxByOverBz[] | ||
) |
This function is purely for calibration purposes Returns the via AliMagF obtaind B field integrals
Definition at line 131 of file AliTPCExBBShape.cxx.
|
inline |
Definition at line 42 of file AliTPCExBBShape.h.
|
inline |
Definition at line 43 of file AliTPCExBBShape.h.
|
virtual |
Calculates the space point corrections of the B field inperfections (B field shape)
Reimplemented from AliTPCCorrection.
Definition at line 104 of file AliTPCExBBShape.cxx.
|
inline |
Definition at line 54 of file AliTPCExBBShape.h.
|
virtual |
Initialization funtion
Reimplemented from AliTPCCorrection.
Definition at line 66 of file AliTPCExBBShape.cxx.
|
private |
|
virtual |
Print function to check the settings (e.g. voltage offsets) option=="a" prints details of the B field settings and the C0 and C1 coefficents (for calibration purposes)
Reimplemented from AliTPCCorrection.
Definition at line 157 of file AliTPCExBBShape.cxx.
Referenced by RegisterAliTPCExBShape().
|
inline |
Definition at line 46 of file AliTPCExBBShape.h.
Referenced by AliTPCCorrectionDemo(), Init(), MakeComposedCorrection(), MakeDistortionMap(), RegisterAliTPCExBShape(), and Update().
|
inline |
Definition at line 41 of file AliTPCExBBShape.h.
|
inlinevirtual |
Reimplemented from AliTPCCorrection.
Definition at line 36 of file AliTPCExBBShape.h.
Referenced by Init(), MakeComposedCorrection(), RegisterAliTPCExBShape(), and Update().
|
virtual |
Update function
Reimplemented from AliTPCCorrection.
Definition at line 84 of file AliTPCExBBShape.cxx.
|
private |
pointer to magnetic field
Definition at line 59 of file AliTPCExBBShape.h.
Referenced by GetBField(), GetBxAndByOverBz(), GetCorrection(), Print(), and SetBField().
|
private |
coefficient C1 (compare Jim Thomas's notes for definitions)
Definition at line 56 of file AliTPCExBBShape.h.
Referenced by GetC1(), GetCorrection(), Print(), SetC1C2(), and SetOmegaTauT1T2().
|
private |
coefficient C2 (compare Jim Thomas's notes for definitions)
Definition at line 57 of file AliTPCExBBShape.h.
Referenced by GetC2(), GetCorrection(), Print(), SetC1C2(), and SetOmegaTauT1T2().
|
private |
scaling factor to rescale distortion - for tests purposes only
Definition at line 58 of file AliTPCExBBShape.h.
Referenced by AddCorrectionCompact(), GetBxAndByOverBz(), GetCorrection(), and GetScaling().