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.
ivana [Thu, 2 Jul 2009 12:54:54 +0000 (12:54 +0000)]
In alignment code:
- Fixed bug in misalignment transformation to ocdb format
- Added delta_z degree of freedom
- Changed default setting of B field (to 0)
- Use local constraints instead of global
(Javier)
First version of properly working ITS clusterfinders in HLT (Gaute)
- Clusterfinders now call DigitsToRecPoint from AliITSDetTypeRec
instead of directly directly caling methods of the offline
ClusterFinders.
- The clusters are stored temporary in a TTree and extracted again
to be sent as the HLT internal data structure. This approach works
for the moment but has potential for optimization (requires some
changes in the offline code)
- Clean up unused variables in headers
- New common macro for running all ITS clusterfinders and plotting
the result in one Histogram Component
- Checks if Geom is loaded in order to avoid repeated loading of the
geometry for each component.
M ITS/AliHLTITSClusterFinderSPDComponent.cxx
D ITS/macros/rec-ssd-cluster.C
D ITS/macros/rec-sdd-cluster.C
A ITS/macros/rec-its-cluster.C
D ITS/macros/rec-spd-cluster.C
M ITS/AliHLTITSClusterFinderSSDComponent.cxx
M ITS/AliHLTITSClusterFinderSDDComponent.h
M ITS/AliHLTITSClusterFinderSDDComponent.cxx
M ITS/AliHLTITSClusterFinderSPDComponent.h
M ITS/AliHLTITSClusterFinderSSDComponent.h
- moving AliHLTGlobalBarrelTrack to libAliHLTUtil to make it commonly
available and replacing the temporary AliHLTKalmanTrack class
- correcting dependencies of the libAliHLTGlobal, now independent of
libAliHLTTPC/TRD
- disable the AliHLTGlobalTrackMergerComponent until it is free of TPC
and TRD dependencies, i.e. using only common data types as input
the HLT/ConfigHLT/esdLayout object is not transient any more. The object
will be kept fixed for simulations and is updated by the shuttle according
to the online HLT reconstruction
Production mode can be enabled via AliAnalysisAlien::SetProductionMode(). This will
delegate job submission to LPM manager. A file is written containing the path to the
jdl file and several lines with the arguments to be provided.
defining the default simulation chain for the libAliHLTTrigger, inclusing the
global trigger, chain is not yet enabled, but can be run by setting the options
simulator.SetRunHLT("libAliHLTTrigger.so chains=GLOBAL-Trigger");
adding skeletons for a multiplicity and a cosmics trigger component for the
central barrel region. exact trigger functionality of the cosmic trigger needs
to be implemented
- added functionality to check CTP trigger classes within an analysis component
bool EvaluateCTPTriggerClass checks a const char* expression of logic
combinations of CTP trigger classes
- hanlde the ECS parameter data block on SOR and set CTP trigger classes
- first sketch of unit test for the above functionality, needs to be extended
to really send the {ECSPARAM:PRIV} block
- long pending issue: comment warning on 'missing EOR' when a component has not
received any event for processing. The check has to be replaced by a proper
state handling
marian [Wed, 1 Jul 2009 17:08:27 +0000 (17:08 +0000)]
AliTPCCalibPedestal.h.diff code cleanup: Remove functions moved to the Base Class
AliTPCCalibPulser.h.diff code cleanup: Remove functions moved to the Base Class
AliTPCCalibRaw.cxx Calibration algorithm for drift velocity from last time bin, and L1 phase checking
AliTPCCalibRaw.h Calibration algorithm for drift velocity from last time bin, and L1 phase checking
TPCRAWda.cxx Detector algorithms for drift velocity from last time bin, and L1 phase checking
libTPCbase.pkg.diff Adding class AliTPCCalibRaw
TPCbaseLinkDef.h.diff Adding class AliTPCCalibRaw
1) AliITSRecoParam -> flag for using the bad channels in the SSD CF
2) AliITSRecPoint.cxx -> correctly set the out-of-diagonal elements of the
covariance matrix in the recpoint constructor
3) AliITSClusterFinderV2SSD -> flag for using bad channels + fix in the value
of sigma_z
Adding class (AliTOFArray) to handle a variable size array of variable size arrays of float
to perform TOF calibration. Corresponding changes in AliTOFCalibTask.
Adding the necessary macros to run the task on PROOF.
SDD raw data format read from block attributes of CDH, RawStreamSDD instantiated on the basis of this attribuite, CDH for simulated raws written accordingly (F. Prino)
cvetan [Tue, 30 Jun 2009 22:57:29 +0000 (22:57 +0000)]
Usage of the recently introduced OCDB entry which contains the list of defined cosmic trigger classes. The event specie setter is modified in a way that it checks if a fired trigger class is defined in the list and if no other non-cosmic trigger is fired, the event specie is set to cosmic.