]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/macros/AddTaskThreePionRadii.C
Split: fix refs to AddTaskCentrality.C
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / macros / AddTaskThreePionRadii.C
1 AliThreePionRadii *AddTaskThreePionRadii(
2                                  Bool_t LEGO=kTRUE, 
3                                  Bool_t MCcase=kFALSE, 
4                                  Bool_t PbPbcase=kTRUE, 
5                                  Bool_t GenerateSignal=kFALSE, 
6                                  Int_t CentBinLowLimit=0, 
7                                  Int_t CentBinHighLimit=1,
8                                  Int_t RMax=11,
9                                  UInt_t FilterBit=7,
10                                  Float_t MaxChi2NDF=10,
11                                  Int_t MinTPCncls=0,
12                                  Float_t MinSepPairEta=0.02,
13                                  Float_t MinSepPairPhi=0.045,
14                                  Float_t SigmaCutTPC=2.0,
15                                  Float_t SigmaCutTOF=2.0,
16                                  Int_t NumKt3bins=1,
17                                  Bool_t V0Mbinning=kFALSE,
18                                  Int_t TriggerType=0,
19                                  TString StKName="alien:///alice/cern.ch/user/d/dgangadh/KFile_TPR.root"
20                                  ) {
21   
22   //===========================================================================
23   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
24   if (!mgr) {
25     ::Error("AddTaskThreePionRadii", "No analysis manager to connect to.");
26     return NULL;
27   }
28  
29   
30   //____________________________________________//
31   // Create task
32   AliThreePionRadii *ThreePionRadiiTask = new AliThreePionRadii("ThreePionRadiiTask");
33   if(!ThreePionRadiiTask) return NULL;
34   ThreePionRadiiTask->SetLEGOCase(LEGO);
35   ThreePionRadiiTask->SetMCdecision(MCcase);
36   ThreePionRadiiTask->SetPbPbCase(PbPbcase);
37   ThreePionRadiiTask->SetGenerateSignal(GenerateSignal);
38   ThreePionRadiiTask->SetCentBinRange(CentBinLowLimit, CentBinHighLimit);
39   ThreePionRadiiTask->SetRMax(RMax);
40   ThreePionRadiiTask->SetFilterBit(FilterBit);
41   ThreePionRadiiTask->SetMaxChi2NDF(MaxChi2NDF);
42   ThreePionRadiiTask->SetMinTPCncls(MinTPCncls);
43   ThreePionRadiiTask->SetPairSeparationCutEta(MinSepPairEta);
44   ThreePionRadiiTask->SetPairSeparationCutPhi(MinSepPairPhi);
45   ThreePionRadiiTask->SetNsigmaTPC(SigmaCutTPC);
46   ThreePionRadiiTask->SetNsigmaTOF(SigmaCutTOF);
47   ThreePionRadiiTask->SetNumKt3Bins(NumKt3bins);
48   ThreePionRadiiTask->SetV0Mbinning(V0Mbinning);
49   ThreePionRadiiTask->SetTriggerType(TriggerType);
50   mgr->AddTask(ThreePionRadiiTask);
51
52
53   // Create ONLY the output containers for the data produced by the task.
54   // Get and connect other common input/output containers via the manager as below
55   //==============================================================================
56   TString outputFileName = AliAnalysisManager::GetCommonFileName();
57   outputFileName += ":PWGCF.outputThreePionRadiiAnalysis.root";
58   AliAnalysisDataContainer *coutThreePionRadii = mgr->CreateContainer("ThreePionRadiiOutput", TList::Class(),AliAnalysisManager::kOutputContainer,outputFileName.Data());
59   mgr->ConnectInput(ThreePionRadiiTask, 0, mgr->GetCommonInputContainer());
60   mgr->ConnectOutput(ThreePionRadiiTask, 1, coutThreePionRadii);
61   
62
63   TFile *inputFileFSI = 0;
64
65   ////////////////////////////////////////////////////
66   // FSI File
67   inputFileFSI = TFile::Open(StKName,"OLD");
68   if (!inputFileFSI){
69     cout << "Requested file:" << inputFileFSI << " was not opened. ABORT." << endl;
70     return NULL;
71   }  
72   TH1D *FSI2SS[10];
73   TH1D *FSI2OS[10];
74
75   for(Int_t FSIindex=0; FSIindex<10; FSIindex++) {
76     TString *nameSS=new TString("K2ss_");
77     *nameSS += FSIindex;
78     FSI2SS[FSIindex] = (TH1D*)inputFileFSI->Get(nameSS->Data());
79     TString *nameOS=new TString("K2os_");
80     *nameOS += FSIindex;
81     FSI2OS[FSIindex] = (TH1D*)inputFileFSI->Get(nameOS->Data());
82     //
83     FSI2SS[FSIindex]->SetDirectory(0);
84     FSI2OS[FSIindex]->SetDirectory(0);
85   }
86   
87   ThreePionRadiiTask->SetFSICorrelations( kTRUE, FSI2SS , FSI2OS);
88   ////////////////////////////////////////////////////
89   
90   // Return the task pointer
91   return ThreePionRadiiTask;
92 }