Kalman filter for TPC calibration and alignment Marian
Kalman filter for TPC calibration and alignment Marian Ivanov
Outlook Motivation Kalman filter Preliminary results + QA Work in progress
TPC space point distortions (0) Sector rotation, translation, scaling (? ) edge effect – r ~ 1/dedge Inner and Outer field cage (FC) ~ 1/dfc Field distortions Determined by FC misalignment, ROC misalignment, CE misalignment, resistor roads imperfection. . . rotation, translation, scaling, tilting (r, phi, z) edge effect Inner and Outer field cage ~ 1/dfc
TPC space point distortions- Z coordinate (1) Drift velocity Global y dependence (pressure and temperature gradient) changing in time mean drift velocity – change in time Trigger offset Change in time Different for different triggers
TPC calibration First approach Attempt to calibrate effects separately (3 classes) Data representation for different types of transformation (2 -3 classes) Non linear transformation Problems: Effects are correlated – should be fit together (Milipedde – why not) Calibration not yet finished – data representation can change – potential problem with backward compatibility
New approach General (non linear) transformation class implemented – Ali(TPC)Transformation Kalman fit for calibration/alignment implemented - Ali(TPC)kalman. Fit Possible to represent any transformation Fitting of tracks (planes) together with parameters of transformations Transformation represented by set of the Ali(TPC)transformation The same transformation representation used in calibration and also in reconstruction and simulation
Ali(TPC)transformation (0) Main function: virtual Double_t Get. Delta. XYZ(Int_t coord, Int_t vol. ID, Double_t param, Double_t x, Double_t y, Double_t z) Possible to register a user defined formulas without creating new class Ali(TPC)transformation: : Register. Formula("TPCscaling. ROFC", (Gen. Fun c. G)(Ali. TPCTransformation: : TPCscaling. ROFC)); Internal representation of transformation – pointers to the function typedef Double_t (*Gen. Func. G)(const Double_t*, const Double_t*); Gen. Func. G f. Formula. X; //! x formula Gen. Func. G f. Formula. Y; //! y formula Gen. Func. G f. Formula. Z; //! z formula
Ali(TPC)transformation (1) Make a transformation - (formulas found in the list of registered formulas) Set initial parameters transformation->Set. Params(0, 0. 2, 0, &fpar); Add it to the list of transformation = new Ali. TPCTransformation("t. TPCDelta. Lx. IROCA", new TBits(mask. Inner. A), "TPClocald. Lxd. GX", "TPClocald. Lxd. GY", 0, 0); kalman. Fit->Add. Calibration(transformation); Enable/disable transformation: Set. Active(Bool_t )
Ali(TPC)transformation (3) Plane structure to for transformation representation currently used Possible extension - Hierarchical structure Enough for TPC alignment/calibration Assumption – transformation commute To be done. First priority finish the TPC calibration Still 3 weeks before the Ali. Root frozen
Ali(TPC)kalman. Fit – calibration and alignment Wikipedia (http: //en. wikipedia. org/wiki/Kalman_filter) Propagate calibration parameters in time (drift velocity, global y gradient) Propagate track parameters in space (track model+multiple scattering. . . ) Parameter vector: xk = (xcalib, xtrack) Covariance: pk = (Ccalib , 0, 0, Ctrack) xtrack and Ctrack reset after each track Hk matrix – transformation of the calibration and track (plane) parameters to the observation space point (Ali. Track. Point)
Preliminary results (Residuals) A side C side AC side Comparison of track residuals (no field data) Column 0 – not calibrated data, Column 1 – calibration plus partial alignment (common mode) Rows – y, , y^2/ x^2, z, , z^2/ x^2, z^2/ x^2
Rphi calibration distortion (example) Setup Result
Example Drift velocity Z tilting
Work in progress Systematic check of stability Include laser alignment Include primary vertex finding Include external detectors
Conclusion The first result from the Kalman alignment/calibration are promising Framework is working The same transformation for calibration, simulation(digitization), reconstruction Possibility to add any kind of transformation We can fit elephant We try to use physical models More constraint to be implemented
- Slides: 18