]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FORWARD/analysis/RunLocalFMDAnalysisSE.C
removing the setting of AOD track references for TPC only tracks
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis / RunLocalFMDAnalysisSE.C
1 void RunLocalFMDAnalysisSE(const Char_t* filename= "AliESDs.root", const Char_t* cdbPath="local://$ALICE_ROOT/OCDB", const Char_t* outFile = "fmd_analysis.root") {
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);  
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");
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);
25   
26   AliMCEventHandler *mcHandler = new AliMCEventHandler();
27   mgr->SetMCtruthEventHandler(mcHandler);
28   
29   AliAODHandler* aodHandler   = new AliAODHandler();
30   mgr->SetOutputEventHandler(aodHandler);
31   aodHandler->SetOutputFileName("AliAODs.root");
32   
33   
34   AliAnalysisDataContainer *cin_esd = mgr->GetCommonInputContainer();
35   // Output AOD container. Pointer to AOD put here only by filter task.
36   // This container is managed by the AOD handler
37   AliAnalysisDataContainer *cout_aod = mgr->GetCommonOutputContainer();
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);
57   // cdb->SetSpecificStorage("FMD/*","local://$ALICE_ROOT");
58    cdb->SetRun(0);
59   
60   AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
61   pars->Init();
62   //if (AliGeomManager::GetGeometry() == NULL)
63   //  AliGeomManager::LoadGeometry("geometry.root");
64   
65   if (AliGeomManager::GetGeometry() == NULL)
66     AliGeomManager::LoadGeometry();
67   AliFMDParameters* recopars = AliFMDParameters::Instance();
68   recopars->Init();
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 //______________________________________________________________________________
84 TChain* 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 }