new macro to handle setting of default event species for reco params
authorhdalsgaa <hdalsgaa@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 11 Nov 2009 15:15:29 +0000 (15:15 +0000)
committerhdalsgaa <hdalsgaa@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 11 Nov 2009 15:15:29 +0000 (15:15 +0000)
FMD/scripts/MakeRecoParam.C

index 68ce3d2..36d2e86 100644 (file)
@@ -1,21 +1,70 @@
 void
-MakeRecoParam()
+MakeRecoParam(AliRecoParam::EventSpecie_t default=AliRecoParam::kLowMult)
 {
   AliCDBManager* cdb = AliCDBManager::Instance();
   cdb->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
   cdb->SetRun(0);
+  
+  TObjArray *recoParamArray = new TObjArray();
+
+  {
+    // Default reconstruction parameters
+    AliFMDRecoParam * fmdRecoParam = new AliFMDRecoParam();
+    fmdRecoParam->SetEventSpecie(AliRecoParam::kDefault);
+    fmdRecoParam->SetName("Default");
+    recoParamArray->AddLast(fmdRecoParam);
+  }   
+ {
+    // Default reconstruction parameters
+    AliFMDRecoParam * fmdRecoParam = new AliFMDRecoParam();
+    fmdRecoParam->SetEventSpecie(AliRecoParam::kCosmic);
+    fmdRecoParam->SetName("Cosmic");
+    recoParamArray->AddLast(fmdRecoParam);
+  }   
+  {
+    // Default reconstruction parameters
+    AliFMDRecoParam * fmdRecoParam = new AliFMDRecoParam();
+    fmdRecoParam->SetEventSpecie(AliRecoParam::kLowMult);
+    fmdRecoParam->SetName("LowMult");
+    recoParamArray->AddLast(fmdRecoParam);
+  }   
+  {
+    // Default reconstruction parameters
+    AliFMDRecoParam * fmdRecoParam = new AliFMDRecoParam();
+    fmdRecoParam->SetEventSpecie(AliRecoParam::kHighMult);
+    fmdRecoParam->SetName("HighMult");
+    recoParamArray->AddLast(fmdRecoParam);
+  }   
+  
+  // 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;
+    }
+  }
 
-  AliFMDRecoParam param;
+  if (!defaultIsSet) {
+    Error(macroname,"The default reconstruction parameters are not set! Exiting...");
+    return;
+  }
+
+  //AliFMDRecoParam param;
+  //param.SetEventSpecie(AliRecoParam::kLowMult) ;
   AliCDBId        id("FMD/Calib/RecoParam",0,999999);
   AliCDBMetaData  meta;
+  
   meta = new AliCDBMetaData;                                       
   meta.SetResponsible(gSystem->GetUserInfo()->fRealName.Data());       
   meta.SetAliRootVersion(gROOT->GetVersion()); 
   meta.SetBeamPeriod(1);                                               
-  meta.SetComment("Dummy data for testing"); 
-  meta.SetProperty("key1", &param);
+  meta.SetComment("Data for testing"); 
+  meta.SetProperty("key1", recoParamArray);
   
-  cdb->Put(&param, id, &meta);
+  cdb->Put(recoParamArray, id, &meta);
 }