]> git.uio.no Git - u/mrichter/AliRoot.git/blame - test/testdEdx/rec.C
modified: rec.C == changed name for the RecoParam OCDB Specific storage
[u/mrichter/AliRoot.git] / test / testdEdx / rec.C
CommitLineData
533f5c16 1const char * recoStorage="local:///cvmfs/alice.gsi.de/alice/data/2010/OCDB";
2Int_t run=0;
3
4
2822c51d 5void ModifyRecoParam(TObjArray* recoArray, Bool_t useIonTail, Double_t crossTalkCorrection){
6 //
7 // Modify reco param - and store it in the OCDB in local directory
8 //
9 AliCDBManager * man = AliCDBManager::Instance();
10 for (Int_t i=0; i<4; i++){
11 AliTPCRecoParam* p = ( AliTPCRecoParam*)recoArray->At(i);
12 p->SetUseIonTailCorrection(useIonTail);
13 p->SetCrosstalkCorrection(crossTalkCorrection);
14 }
533f5c16 15 TString localStorage = "local://"+gSystem->GetFromPipe("pwd")+"/OCDBrec";
2822c51d 16 AliCDBStorage*pocdbStorage = AliCDBManager::Instance()->GetStorage(localStorage.Data());
17 AliCDBMetaData *metaData= new AliCDBMetaData();
18 AliCDBId* id1=new AliCDBId("TPC/Calib/RecoParam/", man->GetRun(), man->GetRun());
19 pocdbStorage->Put(recoArray, (*id1), metaData);
20 AliCDBManager::Instance()->SetSpecificStorage("TPC/Calib/RecoParam/",localStorage.Data());
21}
fab83bb9 22
23
2822c51d 24void rec(Bool_t useIonTail, Double_t crossTalkCorrection) {
25 //
26 // run reconstruction
27 // Parameters:
28 // useIonTail - switch for using ion tail correction - OCDB entry will be overritten in
2822c51d 29 //
30 // stard reco setting
31 //
32 AliCDBManager * man = AliCDBManager::Instance();
33 man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
34 man->SetSpecificStorage("TPC/Calib/RecoParam/",recoStorage);
35 man->SetRun(run);
36 AliReconstruction reco;
253e70f4 37 reco.SetWriteESDfriend();
38 reco.SetWriteAlignmentData();
253e70f4 39 reco.SetDefaultStorage("local://$ALICE_ROOT/OCDB");
40 reco.SetSpecificStorage("GRP/GRP/Data",
41 Form("local://%s",gSystem->pwd()));
42 reco.SetRunPlaneEff(kTRUE);
9e75bcab 43 reco.SetRunQA(":");
44 reco.SetRunGlobalQA(kFALSE);
2822c51d 45 reco.ResetCheckRecoCDBvsSimuCDB();
9e75bcab 46
2822c51d 47 //
48 //Switch Iontail in RecoParam. Creation of a new OCDB entry
49 //
50 AliCDBEntry* e = man->Get("TPC/Calib/RecoParam/",run); // get default
51 // modify content
52 TObjArray* recoArray = (TObjArray*)e->GetObject();
53 ModifyRecoParam(recoArray, useIonTail, crossTalkCorrection);
54 //
55 //
56 // Run reconstruction
57 //
253e70f4 58 TStopwatch timer;
59 timer.Start();
60 reco.Run();
61 timer.Stop();
62 timer.Print();
2822c51d 63 //
64 // Print the OCDB setup which we used
65 //
66 AliCDBEntry* ocdbEntry = man->Get("TPC/Calib/RecoParam/",run);
67 TObjArray* recoArray = (TObjArray*)ocdbEntry->GetObject();
68 for (Int_t i=0; i<4; i++){
69 AliTPCRecoParam* recoParam = ( AliTPCRecoParam*)recoArray->At(i);
70 printf("ipar=%d\t%d\t%f\n",i,recoParam->GetUseIonTailCorrection(), recoParam->GetCrosstalkCorrection());
533f5c16 71 }
253e70f4 72}