]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/MakeITSRecoParam.C
Fixes for Coverity warnings (M. van Leeuwen)
[u/mrichter/AliRoot.git] / ITS / MakeITSRecoParam.C
index 7ff0188773b083d7e06e5eb9eea7c32b883f2173..bdb3dc931f808ebefcdd10963875078c4e56e14d 100644 (file)
@@ -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(<N>);
+    //  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->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();
@@ -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;
 }
+