2 // parameter to take from config file
4 const char * recoStorage="local:///cvmfs/alice.gsi.de/alice/data/2010/OCDB";
8 void ModifyRecoParam(TObjArray* recoArray, Bool_t useIonTail, Double_t crossTalkCorrection){
10 // Modify reco param - and store it in the OCDB in local directory
12 AliCDBManager * man = AliCDBManager::Instance();
13 for (Int_t i=0; i<4; i++){
14 AliTPCRecoParam* p = ( AliTPCRecoParam*)recoArray->At(i);
15 p->SetUseIonTailCorrection(useIonTail);
16 p->SetCrosstalkCorrection(crossTalkCorrection);
18 TString localStorage = "local://"+gSystem->GetFromPipe("pwd")+"/OCDBsim";
19 AliCDBStorage*pocdbStorage = AliCDBManager::Instance()->GetStorage(localStorage.Data());
20 AliCDBMetaData *metaData= new AliCDBMetaData();
21 AliCDBId* id1=new AliCDBId("TPC/Calib/RecoParam/", man->GetRun(), AliCDBRunRange::Infinity());
22 pocdbStorage->Put(recoArray, (*id1), metaData);
23 AliCDBManager::Instance()->SetSpecificStorage("TPC/Calib/RecoParam/",localStorage.Data());
27 void sim(Int_t nev, Bool_t useIonTail, Double_t crossTalkCorrection) {
28 gSystem->Load("liblhapdf");
29 gSystem->Load("libEGPythia6");
30 gSystem->Load("libpythia6");
31 gSystem->Load("libAliPythia6");
32 gSystem->Load("libhijing");
33 gSystem->Load("libTHijing");
34 gSystem->Load("libgeant321");
37 AliCDBManager * man = AliCDBManager::Instance();
38 man->SetDefaultStorage("local://$ALICE_ROOT/OCDB");
39 man->SetSpecificStorage("TPC/Calib/RecoParam/",recoStorage);
41 AliCDBEntry* e = man->Get("TPC/Calib/RecoParam/",run); // get default
43 TObjArray* recoArray = (TObjArray*)e->GetObject();
44 ModifyRecoParam(recoArray, useIonTail, crossTalkCorrection);
48 if (gSystem->Getenv("EVENT")) nev = atoi(gSystem->Getenv("EVENT")) ;
50 AliSimulation simulator;
51 simulator.SetMakeSDigits("ITS TPC TRD TOF PHOS HMPID EMCAL MUON FMD ZDC PMD T0");
52 //simulator.SetMakeDigitsFromHits( "ITS TPC");
53 simulator.SetWriteRawData("ALL","raw.root",kTRUE);
55 simulator.SetDefaultStorage("local://$ALICE_ROOT/OCDB");
56 simulator.SetSpecificStorage("GRP/GRP/Data", Form("local://%s",gSystem->pwd()));
57 TString localStorage = "local://"+gSystem->GetFromPipe("pwd")+"/OCDBsim";
58 simulator.SetSpecificStorage("TPC/Calib/RecoParam/",localStorage.Data());
60 simulator.SetRunQA(":") ;
68 // Print the OCDB setup which we used
70 AliCDBManager * man = AliCDBManager::Instance();
71 AliCDBEntry* ocdbEntry = man->Get("TPC/Calib/RecoParam/",run);
72 TObjArray* recoArray = (TObjArray*)ocdbEntry->GetObject();
73 for (Int_t i=0; i<4; i++){
74 AliTPCRecoParam* recoParam = ( AliTPCRecoParam*)recoArray->At(i);
75 printf("ipar=%d\t%d\t%f\n",i,recoParam->GetUseIonTailCorrection(), recoParam->GetCrosstalkCorrection());
77 printf("End of the simulation\n");