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