From ed446fa30f058d226adb7fa66f13ee87e0a0c7f4 Mon Sep 17 00:00:00 2001 From: masera Date: Wed, 30 Apr 2008 17:06:54 +0000 Subject: [PATCH] AliITSRecoParam retrieved from the OCDB --- ITS/AliITSClusterFinderV2SDD.cxx | 2 +- ITS/AliITSClusterFinderV2SPD.cxx | 2 +- ITS/AliITSClusterFinderV2SSD.cxx | 6 +- ITS/AliITSDetTypeRec.cxx | 17 ++++- ITS/AliITSRecoParam.cxx | 31 ++++++++++ ITS/AliITSRecoParam.h | 2 + ITS/AliITSReconstructor.cxx | 13 ++-- ITS/AliITSReconstructor.h | 5 +- ITS/Calib/RecoParam/Run0_999999999_v0_s0.root | Bin 0 -> 4910 bytes ITS/MakeITSRecoParam.C | 58 ++++++++++++++++++ 10 files changed, 119 insertions(+), 17 deletions(-) create mode 100644 ITS/Calib/RecoParam/Run0_999999999_v0_s0.root create mode 100644 ITS/MakeITSRecoParam.C diff --git a/ITS/AliITSClusterFinderV2SDD.cxx b/ITS/AliITSClusterFinderV2SDD.cxx index 9c49f2843db..e4fd646814f 100644 --- a/ITS/AliITSClusterFinderV2SDD.cxx +++ b/ITS/AliITSClusterFinderV2SDD.cxx @@ -126,7 +126,7 @@ FindClustersSDD(AliBin* bins[2], Int_t nMaxBin, Int_t nzBins, if(!repa){ repa = (AliITSRecoParam*) AliITSReconstructor::GetRecoParam(); if(!repa){ - repa = (AliITSRecoParam*) AliITSReconstructor::GetRecoParamDefault(); + repa = AliITSRecoParam::GetHighFluxParam(); AliWarning("Using default AliITSRecoParam class"); } } diff --git a/ITS/AliITSClusterFinderV2SPD.cxx b/ITS/AliITSClusterFinderV2SPD.cxx index 1b5429b5e86..7b839970ed5 100644 --- a/ITS/AliITSClusterFinderV2SPD.cxx +++ b/ITS/AliITSClusterFinderV2SPD.cxx @@ -91,7 +91,7 @@ Int_t AliITSClusterFinderV2SPD::ClustersSPD(AliBin* bins, TClonesArray* digits,T if(!repa){ repa = (AliITSRecoParam*) AliITSReconstructor::GetRecoParam(); if(!repa){ - repa = (AliITSRecoParam*) AliITSReconstructor::GetRecoParamDefault(); + repa = AliITSRecoParam::GetHighFluxParam(); AliWarning("Using default AliITSRecoParam class"); } } diff --git a/ITS/AliITSClusterFinderV2SSD.cxx b/ITS/AliITSClusterFinderV2SSD.cxx index 54d3ff22b36..2ba67282716 100644 --- a/ITS/AliITSClusterFinderV2SSD.cxx +++ b/ITS/AliITSClusterFinderV2SSD.cxx @@ -94,7 +94,7 @@ void AliITSClusterFinderV2SSD::FindClustersSSD(TClonesArray *alldigits) { if(!repa){ repa = (AliITSRecoParam*) AliITSReconstructor::GetRecoParam(); if(!repa){ - repa = (AliITSRecoParam*) AliITSReconstructor::GetRecoParamDefault(); + repa = AliITSRecoParam::GetHighFluxParam(); AliWarning("Using default AliITSRecoParam class"); } } @@ -262,7 +262,7 @@ void AliITSClusterFinderV2SSD::FindClustersSSD(AliITSRawStreamSSD* input, if(!repa){ repa = (AliITSRecoParam*) AliITSReconstructor::GetRecoParam(); if(!repa){ - repa = (AliITSRecoParam*) AliITSReconstructor::GetRecoParamDefault(); + repa = AliITSRecoParam::GetHighFluxParam(); AliWarning("Using default AliITSRecoParam class"); } } @@ -687,7 +687,7 @@ FindClustersSSD(Ali1Dcluster* neg, Int_t nn, if(!repa){ repa = (AliITSRecoParam*) AliITSReconstructor::GetRecoParam(); if(!repa){ - repa = (AliITSRecoParam*) AliITSReconstructor::GetRecoParamDefault(); + repa = AliITSRecoParam::GetHighFluxParam(); AliWarning("Using default AliITSRecoParam class"); } } diff --git a/ITS/AliITSDetTypeRec.cxx b/ITS/AliITSDetTypeRec.cxx index 011f2a5125a..49a56239bb0 100644 --- a/ITS/AliITSDetTypeRec.cxx +++ b/ITS/AliITSDetTypeRec.cxx @@ -43,6 +43,8 @@ #include "AliITSRawClusterSDD.h" #include "AliITSRawClusterSSD.h" #include "AliITSRecPoint.h" +#include "AliITSReconstructor.h" +#include "AliITSRecoParam.h" #include "AliITSCalibrationSDD.h" #include "AliITSMapSDD.h" #include "AliITSDriftSpeedArraySDD.h" @@ -404,7 +406,8 @@ Bool_t AliITSDetTypeRec::GetCalibration() { AliCDBEntry *entryPedestalSSD = AliCDBManager::Instance()->Get("ITS/Calib/PedestalSSD"); AliCDBEntry *entryGainSSD = AliCDBManager::Instance()->Get("ITS/Calib/GainSSD"); AliCDBEntry *entryBadChannelsSSD = AliCDBManager::Instance()->Get("ITS/Calib/BadChannelsSSD"); - + // Entry for the AliITSRecoParam object + AliCDBEntry *entryRP = AliCDBManager::Instance()->Get("ITS/Calib/RecoParam/"); AliCDBEntry *entry2SPD = AliCDBManager::Instance()->Get("ITS/Calib/RespSPD"); AliCDBEntry *entry2SDD = AliCDBManager::Instance()->Get("ITS/Calib/RespSDD"); AliCDBEntry *entry2SSD = AliCDBManager::Instance()->Get("ITS/Calib/RespSSD"); @@ -415,7 +418,7 @@ Bool_t AliITSDetTypeRec::GetCalibration() { if(!entrySPD || !entrySDD || !entryNoiseSSD || !entryGainSSD || !entryPedestalSSD || !entryBadChannelsSSD || - !entry2SPD || !entry2SDD || !entry2SSD || !drSpSDD || !ddlMapSDD || !mapASDD || !mapTSDD){ + !entry2SPD || !entry2SDD || !entry2SSD || !drSpSDD || !ddlMapSDD || !mapASDD || !mapTSDD || !entryRP){ AliFatal("Calibration object retrieval failed! "); return kFALSE; } @@ -472,6 +475,16 @@ Bool_t AliITSDetTypeRec::GetCalibration() { if(!cacheStatus)entry2SSD->SetObject(NULL); entry2SSD->SetOwner(kTRUE); + AliITSRecoParam *rp = (AliITSRecoParam*)entryRP->GetObject(); + if(!cacheStatus)entryRP->SetObject(NULL); + entryRP->SetOwner(kTRUE); + if(!AliITSReconstructor::GetRecoParam()){ + AliITSReconstructor::SetRecoParam(rp); + } + else { + AliWarning("AliITSRecoPAram object has been already set in AliITSReconstructor. The OCDB instance will not be used\n"); + } + // DB entries are deleted. In this way metadeta objects are deleted as well if(!cacheStatus){ delete entrySPD; diff --git a/ITS/AliITSRecoParam.cxx b/ITS/AliITSRecoParam.cxx index 9dae10740a3..186adef0705 100644 --- a/ITS/AliITSRecoParam.cxx +++ b/ITS/AliITSRecoParam.cxx @@ -451,3 +451,34 @@ void AliITSRecoParam::SetLayersParameters() return; } +//_____________________________________________________________________________ +void AliITSRecoParam::PrintParameters() const +{ + // + // print parameters + // + + printf("============================= AliITSRecoParam::PrintParameters "); + printf("============================= \n \n "); + for(Int_t i=0; iSetITSgeom(geom); fDetTypeRec->SetDefaults(); + + if(fgRecoParam) { + fgRecoParam->PrintParameters(); + } else { + AliWarning("AliITSRecoParam has not been set"); + } return; } diff --git a/ITS/AliITSReconstructor.h b/ITS/AliITSReconstructor.h index b49bf6225b3..551b77401d1 100644 --- a/ITS/AliITSReconstructor.h +++ b/ITS/AliITSReconstructor.h @@ -41,17 +41,14 @@ public: static void SetRecoParam(AliITSRecoParam * param){ fgRecoParam = param;} static const AliITSRecoParam* GetRecoParam(){ return fgRecoParam;} - static const AliITSRecoParam* GetRecoParamDefault() - { return fgRecoParamDefault;} private: //data - static AliITSRecoParam *fgRecoParamDefault; // def. reco. parameters static AliITSRecoParam *fgRecoParam; // reconstruction parameters AliITSpidESD *fItsPID; // Pid for ITS AliITSDetTypeRec *fDetTypeRec; // reconstructor - ClassDef(AliITSReconstructor, 4) // class for the ITS reconstruction + ClassDef(AliITSReconstructor, 5) // class for the ITS reconstruction }; #endif diff --git a/ITS/Calib/RecoParam/Run0_999999999_v0_s0.root b/ITS/Calib/RecoParam/Run0_999999999_v0_s0.root new file mode 100644 index 0000000000000000000000000000000000000000..d74f6677f148fb550473fc4c136ff917237e8b60 GIT binary patch literal 4910 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 literal 0 HcmV?d00001 diff --git a/ITS/MakeITSRecoParam.C b/ITS/MakeITSRecoParam.C new file mode 100644 index 00000000000..7ff0188773b --- /dev/null +++ b/ITS/MakeITSRecoParam.C @@ -0,0 +1,58 @@ +void MakeITSRecoParam(Int_t type=1) { +//======================================================================== +// +// Steering macro for ITS reconstruction parameters +// +// Author: A.Dainese +// Contact: andrea.dainese@lnl.infn.it +// +//======================================================================== + + + const char* macroname = "MakeITSRecoParam.C"; + + // Activate CDB storage and load geometry from CDB + AliCDBManager* cdb = AliCDBManager::Instance(); + if(!cdb->IsDefaultStorageSet()) cdb->SetDefaultStorage("local://OCDB"); + + AliITSRecoParam *itsRecoParam = 0; + switch(type) { + case 0: + itsRecoParam = AliITSRecoParam::GetCosmicTestParam(); + break; + case 1: + itsRecoParam = AliITSRecoParam::GetLowFluxParam(); + break; + case 2: + itsRecoParam = AliITSRecoParam::GetHighFluxParam(); + break; + case default: + printf("Wrong event type\n"); + return; + break; + } + /* + itsRecoParam->SetUseTGeoInTracker(3); + itsRecoParam->SetClusterErrorsParam(0); + itsRecoParam->SetFindV0s(kTRUE); + itsRecoParam->SetAddVirtualClustersInDeadZone(kFALSE); + itsRecoParam->SetLayerToSkip(0); + itsRecoParam->SetLayerToSkip(1); + itsRecoParam->SetLayerToSkip(2); + itsRecoParam->SetLayerToSkip(3); + itsRecoParam->SetLayerToSkip(4); + itsRecoParam->SetLayerToSkip(5); + */ + + // save in CDB storage + AliCDBMetaData *md= new AliCDBMetaData(); + md->SetResponsible("Andrea Dainese"); + md->SetComment("Reconstruction parameters ITS"); + md->SetAliRootVersion(gSystem->Getenv("ARVERSION")); + md->SetBeamPeriod(0); + AliCDBId id("ITS/Calib/RecoParam",0,AliCDBRunRange::Infinity()); + AliCDBManager::Instance()->GetDefaultStorage()->Put(itsRecoParam,id, md); + + + return; +} -- 2.43.0