]>
Commit | Line | Data |
---|---|---|
533f5c16 | 1 | const char * recoStorage="local:///cvmfs/alice.gsi.de/alice/data/2010/OCDB"; |
2 | Int_t run=0; | |
3 | ||
4 | ||
2822c51d | 5 | void 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 | 24 | void 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 | } |