Please be more careful - never cache the data from the reco-params, but rather use them directly in the reconstruct methods. Bug fix to a crash in the init of the reconstruction.
marian [Fri, 3 Jul 2009 18:18:38 +0000 (18:18 +0000)]
1. Adding drift correction calibration
2. Update and UpdateRunInformations(Int_t run, Bool_t force=kFALSE)
in public interface.
3. UpdateRunInformations
Update Pressure(GRP), Temperature, Drift velocity correction,HighVoltage
In offline to be used just once
HLT can use it to update the current information which will be than used
for corrections
4. Test of functionality was done using CalibMacros/calibEnv.C
- TOF::Digits2Raw() and down .., esp GetCheckedIndex, GetDigitIndex
takes 17.4% of times of all, and nearly 100% of Raw Write files
13 106 times called
- AliTOFDigitMap calls 13 109 time Ali2Digit conversion,
=> AliTOF::GetDigitIndex() cache index in a temporary - instead of two just one call
- GetFilledCellNumber() a total disaster - loop over all possible channels, and each time calculating (10-mults, 5-adds)x2
=> Rewritten completely.
ivana [Fri, 3 Jul 2009 16:44:50 +0000 (16:44 +0000)]
In reconstruction:
- Correct calculations of energy loss and multiple scattering in absorber.
- Avoid re-extrapolating tracks to vertex in MUONRecoCheck.C
(Diego and Philippe P.)
ivana [Fri, 3 Jul 2009 16:11:39 +0000 (16:11 +0000)]
- Adding comments in newly added classes (in calign)
- Updated loadlibs.C
- Corrected libMUONcalign.pkg
(Andry)
- Moving AliMUONAlignment class from libMUONrec in libMUONcalign
(Ivana)
bugfix: creating publishers for digit data and raw data correctly
with respect to availability of runloader and rawreader, i.e.
AliSimulation and AliReconstruction
ivana [Fri, 3 Jul 2009 11:49:02 +0000 (11:49 +0000)]
Separating mapping graphics classes in a new library, MUONmpgraphics.
- This library is not linked with aliroot
- This makes mapping library independent from Root GUI classes
VZERO trigger inputs following trigger naming conventions. So far only beam A and C side are ok. Some of the other inputs that are present are defined as descriptors in the naming scheme. Still some owrk to be done on both sides - VZERO and trigger coordination
ivana [Fri, 3 Jul 2009 11:05:25 +0000 (11:05 +0000)]
- Adding new MUONcalign library.
- Includes new classes for calibration and alignment tasks:
AliMUONAlignmentTask, AliMUONReAlignTask, AliMUONChamberCalibrationTask
- plus classes moved from MUONevaluation:
AliMUONClusterInfo, AliMUONPadInfo
- Misc correction in documentation
ivana [Fri, 3 Jul 2009 10:59:11 +0000 (10:59 +0000)]
Adding new class AliMUONChamberCalibrationTask.
It is the first version of the classes for the calibration task.
For the time being, the task only fills the clusterInfoTree
during reading the ESDs already reconstructed by alignment task.
(Andry)
adding the AliHLTITSQAComponent (Piergiorgio), two functions rely on most
recent changes in AliITSQADataMakerRec which are not yet committed. Will
be enabled afterwards if this is done
propagation of HLT global trigger decision to hltESD
- adding HLTOUT handler for global trigger decision data block
- including the GLOBAL-Trigger configuration into HLT simulation
- handling of GlobalTrigger object in the ESDManager (generic handling
of non-TClonesArrays in ESD merging still to be imlemented)
- adding helper functionality for easier streaming and extraction of TObjects via AliHLTMessage
- adding helper functions for direct access of TObjects in the HLTOUT data
- AliMUONAlignmentTask and AddTaskMuonAlignment: New AliAnalysisTask to run the muon
alignment within train of the analysis (calibration?) framework.
- AliMUONReAlignTask and AddTaskMuonReAlign: New AliAnalysisTask to realign the muon
spectrometer and generate a muon clusterInfo tree for monitoring within train of the
analysis (calibration?) framework.
(Javier)
Adding track parameters at the HMPID. Corrections to the track extrapolation to the HMPID and filling the new track parameters in the ESD track (Giacomo)
marian [Thu, 2 Jul 2009 16:49:21 +0000 (16:49 +0000)]
Updates for the TPC calibration using laser:
(Peter Christiansen)
I made some modification to the laser/TPC code to have
1) absolute residuals in AliTPCcalibLaser
2) be able to switch on/off the corrections I want.
The modified files are:
M AliTPCcalibLaser.h (for 1)
M AliTPCcalibLaser.cxx (for 1)
M AliTPCcalibCalib.h (for 2)
M AliTPCcalibCalib.cxx (for 2)
M AliTPCRecoParam.h (for 2)
M AliTPCRecoParam.cxx (for 2)
M AliTPCTransform.h (for 2)
M AliTPCTransform.cxx (for 2)
As can be seen most of the modifications are for 2 (but they are of
course small).
There is no dependence between the two so the files for 1 (most
important changes) can be committed without 2.
Here follows some more details about the modifications:
*******************************************************************
1) To have histograms with absolute residuals in the laser calibration
output:
AliTPCcalibLaser
Added 2 array of histograms and 1 method to calculate the linear
parametrisations based on the database.
1 problem was solved in a bit non-optimal way. In the laser database the
slopes in z are inverted, so I now as default invert them and has a flag
that can be set not to invert them for comparison with the simulated
data. Ideal solution is to update laser data base and remove this fix
(and regenerate the laser simulation).
I only added functionality. I did not remove any. (this also means that
I do not cut away rows where I know from the simulation that the beams
are overlapping as I have done in my previous presentations).
********************************************************************
2) Give the possibility to switch on and off corrections.
- AliTPCRecoParam.h
Added the variable
Int_t fUseExBCorrection; // use ExB correction
to be able to not apply ExB correction to the data
default is 1 = on
NB!!! I do not know if AliTPCRecoParam is in the database as an object?
Could it cause problems that I added a variable? In principle it should
be set correctly to 1 since I bumped the version number....
In AliTPCTransform.cxx I made something similar to what was done for the
time correction:
+ if(fCurrentRecoParam&&fCurrentRecoParam->GetUseExBCorrection()) {
+
+ calib->GetExB()->Correct(x,xx);
+
+ } else {
+
+ xx[0] = x[0];
+ xx[1] = x[1];
+ xx[2] = x[2];
+ }
NB! This could cause trouble in the reconstruction in the case where no
fCurrentRecoParam is there because then no ExB correction will be done.
But as this is the same situation for the time correction I assumed that
the aim is that there will always be a fCurrentRecoParam set.
To control all the corrections done in AliTPCcalibCalib I made a flag
for each correction that can be set. For the ExB correction I had to add
a method to AliTPCTransform.h
AliTPCRecoParam * GetCurrentRecoParamNonConst() const {return
fCurrentRecoParam;}
so that I can set the flag to not use ExB corrections.
This means that I can do what I want to do:
Run laser calibrations with my choice of calibrations applied
Get the absolute residuals in the output.
Here is a short presentation with the results I get:
http://www.hep.lu.se/staff/christiansen/laser_absres_in_alitpccaliblaser.pdf
http://www.hep.lu.se/staff/christiansen/laser_absres_in_alitpccaliblaser.odp
********************************************************************
I hope that part 1 can be committed to AliRoot. I would however hope
that if part 2 is not committed that in some other way these switches
are added that the standard AliRoot can be configured to apply only
certain corrections.