// Request an instance with AliTPCcalibDB::Instance() //
// If a new event is processed set the event number with SetRun //
// Then request the calibration data ////
-
//
//
// Calibration data:
+// 0.) Altro mapping
+// Simulation - not yet
+// Reconstruction - AliTPCclustererMI::Digits2Clusters(AliRawReader* rawReader)
+//
// 1.) pad by pad calibration - AliTPCCalPad
//
// a.) fPadGainFactor
// b.) fPadNoise -
// Simulation: AliTPCDigitizer::ExecFast
// Reconstruction: AliTPCclustererMI::FindClusters(AliTPCCalROC * noiseROC)
-// Noise depending cut on clusters (n sigma)
+// Noise depending cut on clusters charge (n sigma)
// c.) fPedestal:
// Simulation: Not used yet - To be impleneted - Rounding to the nearest integer
// Reconstruction: Used in AliTPCclustererMI::Digits2Clusters(AliRawReader* rawReader)
// Reconstruction: AliTPCTransform::Transform() - remove offset
// AliTPCTransform::Transform() - to be called
// in AliTPCtracker::Transform()
+//
+//
+// 2.) Space points transformation:
+//
+// a.) General coordinate tranformation - AliTPCtransform (see $ALICE_ROOT/TPC/AliTPCtransform.cxx)
+// Created on fly - use the other calibration components
+// Unisochronity - (substract time0 - pad by pad)
+// Drift velocity - Currently common drift velocity - functionality of AliTPCParam
+// ExB effect
+// Simulation - Not used directly (the effects are applied one by one (see AliTPC::MakeSector)
+// Reconstruction -
+// AliTPCclustererMI::AddCluster
+// AliTPCtrackerMI::Transform
+// b.) ExB effect calibration -
+// classes (base class AliTPCExB, implementation- AliTPCExBExact.h AliTPCExBFirst.h)
+// a.a) Simulation: applied in the AliTPC::MakeSector -
+// calib->GetExB()->CorrectInverse(dxyz0,dxyz1);
+// a.b) Reconstruction -
+//
+// in AliTPCtransform::Correct() - called calib->GetExB()->Correct(dxyz0,dxyz1)
+//
+// 3.) cluster error, shape and Q parameterization
+//
+//
+//
///////////////////////////////////////////////////////////////////////////////
#include <iostream>
//_____________________________________________________________________________
AliTPCcalibDB::AliTPCcalibDB():
+ TObject(),
fRun(-1),
fTransform(0),
fExB(0),
fPedestals(0),
fTemperature(0),
fMapping(0),
- fParam(0)
+ fRecoParamArray(0),
+ fParam(0),
+ fClusterParam(0)
{
//
// constructor
Update(); // temporary
}
+AliTPCcalibDB::AliTPCcalibDB(const AliTPCcalibDB& ):
+ TObject(),
+ fRun(-1),
+ fTransform(0),
+ fExB(0),
+ fPadGainFactor(0),
+ fPadTime0(0),
+ fPadNoise(0),
+ fPedestals(0),
+ fTemperature(0),
+ fMapping(0),
+ fRecoParamArray(0),
+ fParam(0),
+ fClusterParam(0)
+
+{
+ //
+ // Copy constructor invalid -- singleton implementation
+ //
+ Error("copy constructor","invalid -- singleton implementation");
+}
+
+AliTPCcalibDB& AliTPCcalibDB::operator= (const AliTPCcalibDB& )
+{
+//
+// Singleton implementation - no assignment operator
+//
+ Error("operator =", "assignment operator not implemented");
+ return *this;
+}
+
+
+
//_____________________________________________________________________________
AliTPCcalibDB::~AliTPCcalibDB()
{
fTemperature = (AliTPCSensorTempArray*)entry->GetObject();
}
+
+ entry = GetCDBEntry("TPC/Calib/RecoParam");
+ if (entry){
+ entry->SetOwner(kTRUE);
+ fRecoParamArray = (TObjArray*)(entry->GetObject());
+ }
+
+
entry = GetCDBEntry("TPC/Calib/Parameters");
if (entry){
//if (fPadNoise) delete fPadNoise;
fParam = (AliTPCParam*)(entry->GetObject()->Clone());
}
+ entry = GetCDBEntry("TPC/Calib/ClusterParam");
+ if (entry){
+ //if (fPadNoise) delete fPadNoise;
+ entry->SetOwner(kTRUE);
+ fClusterParam = (AliTPCClusterParam*)(entry->GetObject()->Clone());
+ }
+
entry = GetCDBEntry("TPC/Calib/Mapping");
if (entry){
//if (fPadNoise) delete fPadNoise;
AliCDBManager::Instance()->SetCacheFlag(cdbCache); // reset original CDB cache
}
-AliTPCcalibDB::AliTPCcalibDB(const AliTPCcalibDB& org)
-{
- //
- // Copy constructor invalid -- singleton implementation
- //
- Error("copy constructor","invalid -- singleton implementation");
-}
-
-AliTPCcalibDB& AliTPCcalibDB::operator= (const AliTPCcalibDB& rhs)
-{
-//
-// Singleton implementation - no assignment operator
-//
- Error("operator =", "assignment operator not implemented");
- return *this;
-}
TIter nextLine(arrFileLine);
TObjString *sObjLine=0x0;
- while ( sObjLine = (TObjString*)nextLine() ){
+ while ( (sObjLine = (TObjString*)nextLine()) ){
TString sLine(sObjLine->GetString());
TObjArray *arrNextCol = sLine.Tokenize("\t");
}
}
+
+AliTPCRecoParam * AliTPCcalibDB::GetRecoParam(Int_t */*eventtype*/){
+ //
+ //
+ //
+ if (!fRecoParamArray){
+ return 0; // back compatible sollution
+ };
+
+ AliTPCRecoParam * param = (AliTPCRecoParam*)fRecoParamArray->At(0);
+ return param;
+
+}