]>
Commit | Line | Data |
---|---|---|
162637e4 | 1 | void RunAliEnFMDAnalysisSE(const Char_t* collectionName="collection.xml", const Char_t* cdbPath="local://$ALICE_ROOT/OCDB") { |
7c3e5162 | 2 | |
3 | gSystem->Load("libANALYSIS"); | |
4 | gSystem->Load("libANALYSISalice"); | |
5 | gSystem->Load("libFMDanalysis"); | |
6 | ||
7 | TGrid::Connect("alien://",0,0,"t"); | |
8 | TChain* chain = CreateChainSingle(collectionName); | |
9 | ||
10 | if (!chain) return; | |
11 | ||
12 | // | |
13 | // Make the analysis manager | |
14 | AliAnalysisManager *mgr = new AliAnalysisManager("Analysis Train", "A test setup for the analysis train"); | |
15 | // ESD input handler | |
16 | AliESDInputHandler *esdHandler = new AliESDInputHandler(); | |
17 | mgr->SetInputEventHandler(esdHandler); | |
bb8a464f | 18 | |
19 | AliMCEventHandler *mcHandler = new AliMCEventHandler(); | |
20 | mgr->SetMCtruthEventHandler(mcHandler); | |
21 | ||
7c3e5162 | 22 | AliAODHandler* aodHandler = new AliAODHandler(); |
23 | mgr->SetOutputEventHandler(aodHandler); | |
24 | aodHandler->SetOutputFileName("AliAODs.root"); | |
25 | ||
26 | ||
861795a8 | 27 | AliAnalysisDataContainer *cin_esd = mgr->GetCommonInputContainer(); |
7c3e5162 | 28 | // Output AOD container. Pointer to AOD put here only by filter task. |
29 | // This container is managed by the AOD handler | |
861795a8 | 30 | AliAnalysisDataContainer *cout_aod = mgr->GetCommonOutputContainer(); |
7c3e5162 | 31 | |
32 | AliFMDAnalysisTaskSE *fmdana = new AliFMDAnalysisTaskSE("FMDAnalysis"); | |
33 | mgr->AddTask(fmdana); | |
34 | // Output histograms list for jet analysis | |
35 | AliAnalysisDataContainer *cout_fmd = mgr->CreateContainer("BackgroundCorrected", | |
36 | TList::Class(), | |
37 | AliAnalysisManager::kOutputContainer, "fmd_analysis.root"); | |
38 | // Dummy AOD output container for jet analysis (no client yet) | |
39 | AliAnalysisDataContainer *c_aodfmd = mgr->CreateContainer("cAODfmd", | |
40 | TTree::Class(), | |
41 | AliAnalysisManager::kExchangeContainer); | |
42 | // Connect to data containers | |
43 | mgr->ConnectInput (fmdana, 0, cin_esd ); | |
44 | mgr->ConnectOutput (fmdana, 0, c_aodfmd ); | |
45 | mgr->ConnectOutput (fmdana, 1, cout_fmd ); | |
46 | ||
47 | ||
48 | AliCDBManager* cdb = AliCDBManager::Instance(); | |
49 | cdb->SetDefaultStorage(cdbPath); | |
f58a4769 | 50 | |
7c3e5162 | 51 | cdb->SetRun(0); |
52 | ||
53 | AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance(); | |
54 | pars->Init(); | |
55 | if (AliGeomManager::GetGeometry() == NULL) | |
56 | AliGeomManager::LoadGeometry(); | |
57 | ||
58 | AliFMDGeometry* geo = AliFMDGeometry::Instance(); | |
59 | geo->Init(); | |
60 | geo->InitTransformations(); | |
61 | ||
62 | TStopwatch timer; | |
63 | timer.Start(); | |
64 | if (mgr->InitAnalysis()) { | |
65 | mgr->PrintStatus(); | |
f58a4769 | 66 | mgr->StartAnalysis("local",chain, 5000); |
7c3e5162 | 67 | } |
68 | timer.Stop(); | |
69 | timer.Print(); | |
70 | } | |
71 | //______________________________________________________________________________ | |
72 | TChain* CreateChainSingle(const char* xmlfile, const char *treeName="esdTree") | |
73 | { | |
74 | printf("*******************************\n"); | |
75 | printf("*** Getting the ESD Chain ***\n"); | |
76 | printf("*******************************\n"); | |
77 | TAlienCollection * myCollection = TAlienCollection::Open(xmlfile); | |
78 | ||
79 | if (!myCollection) { | |
80 | ::Error("CreateChainSingle", "Cannot create an AliEn collection from %s", xmlfile) ; | |
81 | return NULL ; | |
82 | } | |
83 | ||
84 | TChain* chain = new TChain(treeName); | |
85 | myCollection->Reset() ; | |
6289b3e8 | 86 | Int_t nFiles = 0; |
87 | while ( myCollection->Next() && nFiles <20) { | |
88 | chain->Add(myCollection->GetTURL("")) ; | |
89 | nFiles++; | |
90 | } | |
7c3e5162 | 91 | chain->ls(); |
92 | return chain; | |
93 | } |