// //
// Class with TPC reconstruction parameters //
// //
-// //
+//
+/*
+ The reconstruction parameters are used in the AliTPCclustererMI and AliTPCtrackerMI
+
+ They are retrieved:
+ 0. User speciefied it in reconstruction macro
+ 1. if (not 0) from OCDB - AliTPCcalibDB::GetRecoParam(eventtype)
+ 2. if (not 0 or 1) default parameter - High flux enevironment used
+
+ FIXME:
+ In the future reconstruction parameters should be changed on event basis
+ But for the moment, event types are still not defined
+
+*/
+ //
///////////////////////////////////////////////////////////////////////////////
//
// default constructor
//
+ //
+ //
if (!fgkRecoParam) {
- AliError("The Reconstruction parameters nonitialized - Used default one");
- fgkRecoParam = AliTPCRecoParam::GetHighFluxParam();
+ //
+ // 1. try to get reco parameters from OCDB
+ //
+ fgkRecoParam = AliTPCcalibDB::Instance()->GetRecoParam(0);
+ AliInfo("Reconstruction parameters from OCDB used");
+ //
+ // 2. If not initialized take default
+ //
+ if (!fgkRecoParam){
+ fgkRecoParam = AliTPCRecoParam::GetHighFluxParam();
+ AliError("Default reconstruction parameters used");
+ }
}
AliTPCParam* param = GetTPCParam();
fPedestals(0),
fTemperature(0),
fMapping(0),
+ fRecoParamArray(0),
fParam(0),
fClusterParam(0)
{
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;
}
}
+
+AliTPCRecoParam * AliTPCcalibDB::GetRecoParam(Int_t */*eventtype*/){
+ //
+ //
+ //
+ if (!fRecoParamArray){
+ return 0; // back compatible sollution
+ };
+
+ AliTPCRecoParam * param = (AliTPCRecoParam*)fRecoParamArray->At(0);
+ return param;
+
+}
class AliTPCParam;
class AliTPCAltroMapping;
class AliTPCClusterParam;
+class AliTPCRecoParam;
//class AliCDBStorage;
class AliTPCcalibDB : public TObject
AliTPCParam* GetParameters(){return fParam;}
AliTPCAltroMapping ** GetMapping(){ return fMapping;}
AliTPCClusterParam *GetClusterParam(){ return fClusterParam;}
+ AliTPCRecoParam * GetRecoParam(Int_t *eventtype);
//
static void CreateObjectList(const Char_t *filename, TObjArray *calibObjects);
static void MakeTree(const char * fileName, TObjArray * array, const char * mapFileName = 0, AliTPCCalPad* outlierPad = 0, Float_t ltmFraction = 0.9);
AliTPCCalPad* fPedestals; // Pedestal calibration entry
AliTPCSensorTempArray* fTemperature; // Temperature calibration entry
AliTPCAltroMapping **fMapping; // Altro mapping
+ TObjArray * fRecoParamArray; // reconstruction parameters
//
//
AliTPCParam * fParam; // TPC parameters