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