1 void RunAliEnFMDAnalysisSE(const Char_t* collectionName="collection.xml", const Char_t* cdbPath="local://$ALICE_ROOT") {
3 gSystem->Load("libANALYSIS");
4 gSystem->Load("libANALYSISalice");
5 gSystem->Load("libFMDanalysis");
7 TGrid::Connect("alien://",0,0,"t");
8 TChain* chain = CreateChainSingle(collectionName);
13 // Make the analysis manager
14 AliAnalysisManager *mgr = new AliAnalysisManager("Analysis Train", "A test setup for the analysis train");
16 AliESDInputHandler *esdHandler = new AliESDInputHandler();
17 mgr->SetInputEventHandler(esdHandler);
19 AliAODHandler* aodHandler = new AliAODHandler();
20 mgr->SetOutputEventHandler(aodHandler);
21 aodHandler->SetOutputFileName("AliAODs.root");
24 AliAnalysisDataContainer *cin_esd = mgr->CreateContainer("cESD",TChain::Class(),
25 AliAnalysisManager::kInputContainer);
26 // Output AOD container. Pointer to AOD put here only by filter task.
27 // This container is managed by the AOD handler
28 AliAnalysisDataContainer *cout_aod = mgr->CreateContainer("cAOD", TTree::Class(),
29 AliAnalysisManager::kOutputContainer, "default");
31 AliFMDAnalysisTaskSE *fmdana = new AliFMDAnalysisTaskSE("FMDAnalysis");
33 // Output histograms list for jet analysis
34 AliAnalysisDataContainer *cout_fmd = mgr->CreateContainer("BackgroundCorrected",
36 AliAnalysisManager::kOutputContainer, "fmd_analysis.root");
37 // Dummy AOD output container for jet analysis (no client yet)
38 AliAnalysisDataContainer *c_aodfmd = mgr->CreateContainer("cAODfmd",
40 AliAnalysisManager::kExchangeContainer);
41 // Connect to data containers
42 mgr->ConnectInput (fmdana, 0, cin_esd );
43 mgr->ConnectOutput (fmdana, 0, c_aodfmd );
44 mgr->ConnectOutput (fmdana, 1, cout_fmd );
47 AliCDBManager* cdb = AliCDBManager::Instance();
48 cdb->SetDefaultStorage(cdbPath);
51 AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
53 if (AliGeomManager::GetGeometry() == NULL)
54 AliGeomManager::LoadGeometry();
56 AliFMDGeometry* geo = AliFMDGeometry::Instance();
58 geo->InitTransformations();
62 if (mgr->InitAnalysis()) {
64 mgr->StartAnalysis("local",chain, 1000);
69 //______________________________________________________________________________
70 TChain* CreateChainSingle(const char* xmlfile, const char *treeName="esdTree")
72 printf("*******************************\n");
73 printf("*** Getting the ESD Chain ***\n");
74 printf("*******************************\n");
75 TAlienCollection * myCollection = TAlienCollection::Open(xmlfile);
78 ::Error("CreateChainSingle", "Cannot create an AliEn collection from %s", xmlfile) ;
82 TChain* chain = new TChain(treeName);
83 myCollection->Reset() ;
84 while ( myCollection->Next() ) chain->Add(myCollection->GetTURL("")) ;