]>
Commit | Line | Data |
---|---|---|
92ddc227 | 1 | void RunLocalFMDAnalysis(const Char_t* filename= "AliESDs.root", |
162637e4 | 2 | const Char_t* cdbPath = "local://$ALICE_ROOT/OCDB", |
92ddc227 | 3 | const Char_t* outFile = "fmd_analysis.root"){ |
4 | ||
5 | gSystem->Load("libANALYSIS"); | |
6 | gSystem->Load("libANALYSISalice"); | |
7 | gSystem->Load("libFMDanalysis"); | |
8 | ||
9 | AliCDBManager* cdb = AliCDBManager::Instance(); | |
10 | cdb->SetDefaultStorage(cdbPath); | |
6289b3e8 | 11 | // cdb->SetSpecificStorage("FMD/*","local://$ALICE_ROOT"); |
92ddc227 | 12 | cdb->SetRun(0); |
1253f50a | 13 | //AliFMDParameters* recopars = AliFMDParameters::Instance(); |
14 | // recopars->Init(); | |
92ddc227 | 15 | AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance(); |
16 | pars->Init(); | |
17 | if (AliGeomManager::GetGeometry() == NULL) | |
18 | AliGeomManager::LoadGeometry(); | |
19 | ||
20 | AliFMDGeometry* geo = AliFMDGeometry::Instance(); | |
21 | geo->Init(); | |
22 | geo->InitTransformations(); | |
23 | ||
24 | cout<<"Creating task for analysis"<<endl; | |
25 | AliFMDAnalysisTaskESDReader *FMDana0 = new AliFMDAnalysisTaskESDReader("reader"); | |
26 | FMDana0->SetDebugLevel(10); | |
27 | AliFMDAnalysisTaskSharing *FMDana1 = new AliFMDAnalysisTaskSharing("sharing"); | |
28 | AliFMDAnalysisTaskDensity *FMDana2 = new AliFMDAnalysisTaskDensity("density"); | |
29 | AliFMDAnalysisTaskBackgroundCorrection *FMDana3 = new AliFMDAnalysisTaskBackgroundCorrection("background"); | |
7c3e5162 | 30 | AliFMDAnalysisTaskDndeta *FMDana4 = new AliFMDAnalysisTaskDndeta("dNdeta"); |
92ddc227 | 31 | |
32 | cout<<"Creating the manager"<<endl; | |
33 | AliAnalysisManager* mgr = new AliAnalysisManager("fmd_analysis","fmd_analysis"); | |
34 | mgr->AddTask(FMDana0); | |
35 | mgr->AddTask(FMDana1); | |
36 | mgr->AddTask(FMDana2); | |
37 | mgr->AddTask(FMDana3); | |
7c3e5162 | 38 | mgr->AddTask(FMDana4); |
92ddc227 | 39 | |
40 | ||
41 | AliAnalysisDataContainer* cin_esd = mgr->CreateContainer("esdTree",TTree::Class(),AliAnalysisManager::kInputContainer,"AliESDs.root"); | |
7c3e5162 | 42 | AliAnalysisDataContainer* cexchangevertex = mgr->CreateContainer("esdvertex",AliESDVertex::Class(),AliAnalysisManager::kExchangeContainer); |
92ddc227 | 43 | AliAnalysisDataContainer* cexchange0 = mgr->CreateContainer("exchangeESDFMD0",AliESDEvent::Class(),AliAnalysisManager::kExchangeContainer); |
7c3e5162 | 44 | AliAnalysisDataContainer* cdiag1 = mgr->CreateContainer("diagSharing1",AliESDEvent::Class(),AliAnalysisManager::kExchangeContainer); |
45 | AliAnalysisDataContainer* cdiag2 = mgr->CreateContainer("diagSharing2",TList::Class(),AliAnalysisManager::kOutputContainer,"edists.root"); | |
46 | AliAnalysisDataContainer* cexchange1 = mgr->CreateContainer("exchangeESDFMD1",AliESDFMD::Class(),AliAnalysisManager::kExchangeContainer); | |
bb8a464f | 47 | AliAnalysisDataContainer* cexchange2 = mgr->CreateContainer("list_of_hits",TList::Class(),AliAnalysisManager::kExchangeContainer); |
7c3e5162 | 48 | AliAnalysisDataContainer* cvertex = mgr->CreateContainer("vertex",TObjString::Class(),AliAnalysisManager::kExchangeContainer); |
bb8a464f | 49 | AliAnalysisDataContainer* cexchange3 = mgr->CreateContainer("list_of_hits_and_mult",TList::Class(),AliAnalysisManager::kOutputContainer,"testOut.root"); |
92ddc227 | 50 | AliAnalysisDataContainer* coutput = mgr->CreateContainer("BackgroundCorrected",TList::Class(),AliAnalysisManager::kOutputContainer,outFile); |
51 | ||
52 | mgr->ConnectInput(FMDana0, 0 , cin_esd); | |
7c3e5162 | 53 | mgr->ConnectOutput(FMDana0, 0 , cexchange0); |
54 | ||
92ddc227 | 55 | mgr->ConnectInput(FMDana1, 0 , cexchange0); |
7c3e5162 | 56 | |
57 | mgr->ConnectOutput(FMDana1, 0 , cexchange1); | |
58 | mgr->ConnectOutput(FMDana1, 1 , cexchangevertex); | |
59 | mgr->ConnectOutput(FMDana1, 2 , cdiag1); | |
60 | mgr->ConnectOutput(FMDana1, 3 , cdiag2); | |
61 | ||
62 | ||
92ddc227 | 63 | mgr->ConnectInput(FMDana2, 0 , cexchange1); |
7c3e5162 | 64 | mgr->ConnectInput(FMDana2, 1 , cexchangevertex); |
92ddc227 | 65 | mgr->ConnectOutput(FMDana2, 0 , cexchange2); |
7c3e5162 | 66 | |
92ddc227 | 67 | mgr->ConnectInput(FMDana3, 0 , cexchange2); |
7c3e5162 | 68 | mgr->ConnectOutput(FMDana3, 0 , cexchange3); |
69 | mgr->ConnectOutput(FMDana3, 1 , cvertex); | |
92ddc227 | 70 | |
7c3e5162 | 71 | mgr->ConnectInput(FMDana4, 0 , cexchange3); |
72 | mgr->ConnectInput(FMDana4, 1 , cvertex); | |
73 | mgr->ConnectOutput(FMDana4, 0 , coutput); | |
74 | ||
75 | ||
92ddc227 | 76 | TFile::Open(filename); |
77 | TChain* chain = (TChain*)gFile->Get("esdTree"); | |
7c3e5162 | 78 | |
79 | ||
92ddc227 | 80 | mgr->InitAnalysis(); |
81 | mgr->PrintStatus(); | |
82 | ||
83 | TStopwatch timer; | |
84 | timer.Start(); | |
85 | cout<<"Executing analysis"<<endl; | |
6289b3e8 | 86 | mgr->StartAnalysis("local",chain); |
92ddc227 | 87 | timer.Stop(); |
88 | timer.Print(); | |
89 | } |