]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/background/runBGvsTime.C
Updates in D+ histos and ntuples (Renu, Francesco, Elena)
[u/mrichter/AliRoot.git] / PWG1 / background / runBGvsTime.C
1 void Load() ;
2
3 void runBGvsTime(const char * incollection,const char *filename,UInt_t start, UInt_t end, Int_t cuts = 0, Bool_t mc = kFALSE, Bool_t useBINT = kFALSE, Int_t nev=123456789) {
4
5   //  gDebug = 3;
6   Load();
7
8   AliLog::SetGlobalLogLevel(AliLog::kInfo);
9
10   // Connect to the grid and create chain
11   //  TGrid::Connect("alien://");
12   TChain* analysisChain = 0;
13   analysisChain = new TChain("esdTree");
14   if (TString(incollection).Contains(".root")){
15     analysisChain->Add(incollection);
16   }
17   else if (TString(incollection).Contains("xml")){
18     TGrid::Connect("alien://");
19     TAlienCollection * coll = TAlienCollection::Open (incollection);
20     while(coll->Next()){
21       analysisChain->Add(TString("alien://")+coll->GetLFN());
22     }
23   } else {
24     ifstream file_collect(incollection);
25     TString line;
26     while (line.ReadLine(file_collect) ) {
27       analysisChain->Add(line.Data());
28     }
29   }
30   analysisChain->GetListOfFiles()->Print();
31
32   //
33   //____________________________________________//
34   // Make the analysis manager
35   AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
36   //  mgr->SetDebugLevel(3);
37   // Add ESD handler
38   AliESDInputHandler* esdH = new AliESDInputHandler; 
39   //  AliESDInputHandler* esdH = new AliESDInputHandlerRP; // for RecPoints
40   
41 //   esdH->SetInactiveBranches("AliESDACORDE FMD ALIESDTZERO ALIESDVZERO ALIESDZDC AliRawDataErrorLogs CaloClusters Cascades EMCALCells EMCALTrigger ESDfriend Kinks Kinks Cascades AliESDTZERO ALIESDACORDE MuonTracks TrdTracks CaloClusters");
42   mgr->SetInputEventHandler(esdH);
43         
44 //   AliMCEventHandler *mc = new AliMCEventHandler();
45 //   mc->SetReadTR(kFALSE);
46 //   mgr->SetMCtruthEventHandler(mc);
47         
48   if(mc) {
49     AliMCEventHandler *mch = new AliMCEventHandler();
50     mch->SetReadTR(kFALSE);
51     mgr->SetMCtruthEventHandler(mch);
52   }
53   // assign simple task
54   //____________________________________________//
55   // assign simple task
56   AliAnalysisTaskBGvsTime * task = new AliAnalysisTaskBGvsTime("TaskBGvsTime");
57   //  task->SetMC();
58 //   const Int_t mult_bins[] = {0,10,50,1000};
59 //   task->SetMultBins(4,mult_bins);
60   const Int_t mult_bins[] = {0,1000};
61   task->SetMultBins(2,mult_bins);
62   task->SetTimes(start,end);
63   task->SetBinWidth(300); // binw in secs
64
65   if(mc) task->SetMC();
66
67   if (cuts == 0 )       task->SetNoCuts();
68   else if (cuts == 2 )  task->SetUsePhysicsSelection();
69   else if (cuts == 3 )  {task->SetUsePhysicsSelection();task->SetUseZeroBin();}
70   else if (cuts == 4 )  {task->SetUsePhysicsSelection();task->SetSkipV0();task->SetUseZeroBin();}
71   else if (cuts == 5 )  {task->SetUsePhysicsSelection();task->SetSkipV0();task->SetSkipZeroBin();}
72
73   if(useBINT) task->SetUseBI();
74
75   mgr->AddTask(task);
76
77   AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();   
78   mgr->ConnectInput(task,0,cinput1);
79
80   // Attach output
81   cOutput = mgr->CreateContainer("BGvsTime", 
82                                  AliHistoListWrapper::Class(), AliAnalysisManager::kOutputContainer,filename);
83   mgr->ConnectOutput(task, 1, cOutput);      
84   cOutput = mgr->CreateContainer("PhysSel", 
85                                  AliPhysicsSelection::Class(), AliAnalysisManager::kOutputContainer,filename);
86   mgr->ConnectOutput(task, 2, cOutput);      
87
88         
89   //____________________________________________//
90
91   if (!mgr->InitAnalysis()) return;
92         
93   mgr->PrintStatus();
94   mgr->StartAnalysis("local",analysisChain,nev);
95
96
97
98
99 }
100
101 void Load() {
102
103   //load the required aliroot libraries
104   gSystem->Load("libANALYSIS") ;
105   gSystem->Load("libANALYSISalice") ;
106   gSystem->Load("libCORRFW") ;
107   gSystem->Load("libITSbase") ;
108   gSystem->Load("libPWG0base") ;
109
110   //compile online the task class
111   gSystem->SetIncludePath("-I. -I$ALICE_ROOT/include -I$ALICE_ROOT/PWG0/ -I$ROOTSYS/include");
112   //  gROOT->LoadMacro("./AliAnalysisTaskCombPIDSpectra.cxx+");
113   //  gROOT->LoadMacro("AliBackgroundSelection.cxx++g");
114   gROOT->LoadMacro("AliHistoListWrapper.cxx++g");   
115   gROOT->LoadMacro("AliAnalysisTaskBGvsTime.cxx++g");
116 }