X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FMakeITSRecoParam.C;h=bdb3dc931f808ebefcdd10963875078c4e56e14d;hb=20f79d37d89dc1fa42a87fab4697de017cd08cf0;hp=52a3d6124ba0333f08b1913838f1445f31f73afb;hpb=401eff160cc8c87cdf8067cf73e6612bf3e4f861;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/MakeITSRecoParam.C b/ITS/MakeITSRecoParam.C index 52a3d6124ba..bdb3dc931f8 100644 --- a/ITS/MakeITSRecoParam.C +++ b/ITS/MakeITSRecoParam.C @@ -1,4 +1,4 @@ -void MakeITSRecoParam(Int_t type=1) { +void MakeITSRecoParam(AliRecoParam::EventSpecie_t default=AliRecoParam::kLowMult) { //======================================================================== // // Steering macro for ITS reconstruction parameters @@ -15,34 +15,66 @@ void MakeITSRecoParam(Int_t type=1) { 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"); + TObjArray *recoParamArray = new TObjArray(); + + { + AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetCosmicTestParam(); + itsRecoParam->SetFactorSAWindowSizes(20); + itsRecoParam->SetClusterErrorsParam(2); + itsRecoParam->SetFindV0s(kFALSE); + itsRecoParam->SetAddVirtualClustersInDeadZone(kFALSE); + itsRecoParam->SetUseAmplitudeInfo(kFALSE); + // In case we want to switch off a layer + // itsRecoParam->SetLayerToSkip(); + // itsRecoParam->SetLayerToSkip(4); + // itsRecoParam->SetLayerToSkip(5); + // itsRecoParam->SetLayerToSkip(2); + // itsRecoParam->SetLayerToSkip(3); + //itsRecoParam->SetSAOnePointTracks(); + itsRecoParam->SetClusterMisalError(0.1); // [cm] + itsRecoParam->SetSAUseAllClusters(); + itsRecoParam->SetEventSpecie(AliRecoParam::kCosmic); + recoParamArray->AddLast(itsRecoParam); + } + { + AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetLowFluxParam(); + itsRecoParam->SetClusterErrorsParam(2); + itsRecoParam->SetEventSpecie(AliRecoParam::kLowMult); + // Plane Efficiency evaluation with tracklets Method + itsRecoParam->SetIPlanePlaneEff(-1); + itsRecoParam->SetComputePlaneEff(kTRUE,kFALSE); + itsRecoParam->SetUseTrackletsPlaneEff(kTRUE); + itsRecoParam->SetTrackleterPhiWindowL2(0.07); + itsRecoParam->SetTrackleterZetaWindowL2(0.4); + itsRecoParam->SetTrackleterPhiWindowL1(0.10); + itsRecoParam->SetTrackleterZetaWindowL1(0.6); + itsRecoParam->SetUpdateOncePerEventPlaneEff(kTRUE); + itsRecoParam->SetMinContVtxPlaneEff(3); + itsRecoParam->SetOptTrackletsPlaneEff(kTRUE); + recoParamArray->AddLast(itsRecoParam); + } + { + AliITSRecoParam * itsRecoParam = AliITSRecoParam::GetHighFluxParam(); + itsRecoParam->SetClusterErrorsParam(2); + itsRecoParam->SetEventSpecie(AliRecoParam::kHighMult); + recoParamArray->AddLast(itsRecoParam); + } + + // Set the default + Bool_t defaultIsSet = kFALSE; + for(Int_t i =0; i < recoParamArray->GetEntriesFast(); i++) { + AliDetectorRecoParam *param = (AliDetectorRecoParam *)recoParamArray->UncheckedAt(i); + if (!param) continue; + if (default & param->GetEventSpecie()) { + param->SetAsDefault(); + defaultIsSet = kTRUE; + } + } + + if (!defaultIsSet) { + Error(macroname,"The default reconstruction parameters are not set! Exiting..."); return; - break; } - itsRecoParam->SetClusterErrorsParam(2); - //itsRecoParam->SetClusterMisalError(1.0); // [cm] - /* - 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(); @@ -51,8 +83,8 @@ void MakeITSRecoParam(Int_t type=1) { md->SetAliRootVersion(gSystem->Getenv("ARVERSION")); md->SetBeamPeriod(0); AliCDBId id("ITS/Calib/RecoParam",0,AliCDBRunRange::Infinity()); - AliCDBManager::Instance()->GetDefaultStorage()->Put(itsRecoParam,id, md); - + cdb->GetDefaultStorage()->Put(recoParamArray,id, md); return; } +