1 /// \file ModifyRecoParamHLTUsage.C
3 /// ModifyRecoParamHLTUsage
4 /// Changes the Input for Reconstruction ( TPC RAW data or HLT TPC clusters )
5 /// 1 -> only TPC raw/sim data
6 /// 2 -> if present TPC raw/sim data, otherwise HLT clusters
7 /// 3 -> only HLT clusters
8 /// 4 -> if present HLT clusters, otherwise TPC raw/sim data
12 /// aliroot -b -q ModifyRecoParamHLTUsage.C'("/lustre/alice/alien/alice/data/2011/OCDB/TPC/Calib/RecoParam/Run136844_999999999_v2_s0.root",3,"local:///tmp/ocdb/")'
15 void ModifyRecoParamHLTUsage( const Char_t* lastOCDBEntry,
17 const Char_t* newStoragePath = "local:///tmp/ocdb",
18 const Char_t* author = "Jochen Thaeder",
19 const Char_t* alirootVersion = "05-01-Release" ) {
22 // -------------------------------------------------------------------
23 TFile inFile(lastOCDBEntry);
25 printf("File %s could not be found!\n", lastOCDBEntry);
29 AliCDBEntry * entry = ( AliCDBEntry *) inFile.Get("AliCDBEntry");
31 printf("File %s does not contain AliCDBEntry object!\n", lastOCDBEntry);
35 TObjArray * arr = entry->GetObject();
37 AliTPCRecoParam * parHighFlux = NULL;
38 AliTPCRecoParam * parLowFlux = NULL;
39 AliTPCRecoParam * parLaserFlux = NULL;
40 AliTPCRecoParam * parCosmicFlux = NULL;
42 for (Int_t idx = 0 ; idx < arr->GetEntries() ; ++idx) {
43 AliTPCRecoParam *param = (AliTPCRecoParam*) arr->At(idx);
45 TString name(param->GetName());
47 if ( name.Contains("Low") )
49 else if ( name.Contains("High") )
51 else if ( name.Contains("Laser") )
53 else if ( name.Contains("Cosmic") )
54 parCosmicFlux = param;
57 // -- Set TPC RecoParam : UseHLTClusters
58 // -------------------------------------------------------------------
59 parLaserFlux->SetUseHLTClusters(1); // LASER use always raw data
61 parHighFlux->SetUseHLTClusters(iHLTusage);
62 parLowFlux->SetUseHLTClusters(iHLTusage);
63 parCosmicFlux->SetUseHLTClusters(iHLTusage);
66 // -------------------------------------------------------------------
67 const Char_t *comment = "Modified RecoParam with HLT clusters usage";
68 // -------------------------------------------------------------------
70 AliCDBMetaData *metaData= new AliCDBMetaData();
71 metaData->SetObjectClassName("TObjArray");
72 metaData->SetResponsible(author);
73 metaData->SetBeamPeriod(1);
74 metaData->SetAliRootVersion(alirootVersion);
75 metaData->SetComment(comment);
77 AliCDBId id("TPC/Calib/RecoParam", 0, AliCDBRunRange::Infinity());
79 AliCDBStorage * gStorage = AliCDBManager::Instance()->GetStorage(newStoragePath);
80 gStorage->Put(arr, id, metaData);