]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/macros/AddTaskFourPion.C
move arguments
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / macros / AddTaskFourPion.C
CommitLineData
0bde631d 1AliFourPion *AddTaskFourPion(
2567800f 2 Bool_t TabulatePairs=kFALSE,
0bde631d 3 Int_t CentBinLowLimit=0,
4 Int_t CentBinHighLimit=1,
0bde631d 5 TString StWeightName="alien:///alice/cern.ch/user/d/dgangadh/WeightFile_FourPion.root",
6 TString StMomResName="alien:///alice/cern.ch/user/d/dgangadh/MomResFile_FourPion.root",
b79b516e 7 TString StKName="alien:///alice/cern.ch/user/d/dgangadh/KFile_FourPion.root",
8 TString StMuonName="alien:///alice/cern.ch/user/d/dgangadh/MuonCorrection_FourPion.root"
9 ) {
0bde631d 10
11 //===========================================================================
12 AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
13 if (!mgr) {
14 ::Error("AddTaskFourPion", "No analysis manager to connect to.");
15 return NULL;
16 }
17
18
19 //____________________________________________//
20 // Create task
21 AliFourPion *FourPionTask = new AliFourPion("FourPionTask");
22 if(!FourPionTask) return NULL;
2567800f 23 FourPionTask->SetLEGOCase(kTRUE);
24 FourPionTask->SetMCdecision(kFALSE);
25 FourPionTask->SetPbPbCase(kTRUE);
26 FourPionTask->SetGenerateSignal(kFALSE);
0bde631d 27 FourPionTask->SetTabulatePairs(TabulatePairs);
2567800f 28 FourPionTask->SetInterpolationType(kFALSE);
0bde631d 29 FourPionTask->SetCentBinRange(CentBinLowLimit, CentBinHighLimit);
2567800f 30 FourPionTask->SetRMax(11);
31 FourPionTask->SetfcSq(0.7);
32 FourPionTask->SetFilterBit(7);
33 FourPionTask->SetMaxChi2NDF(10);
34 FourPionTask->SetMinTPCncls(0);
35 FourPionTask->SetPairSeparationCutEta(0.02);
36 FourPionTask->SetPairSeparationCutPhi(0.045);
37 FourPionTask->SetNsigmaTPC(2.0);
38 FourPionTask->SetNsigmaTOF(2.0);
01d7aaf2 39 //
40 FourPionTask->SetMixedChargeCut(kFALSE);
41 FourPionTask->SetMinPt(0.16);
42 FourPionTask->SetMaxPt(1.0);
43 FourPionTask->SetKT3transition(0.3);
44 FourPionTask->SetKT4transition(0.3);
0bde631d 45 mgr->AddTask(FourPionTask);
46
47
48 // Create ONLY the output containers for the data produced by the task.
49 // Get and connect other common input/output containers via the manager as below
50 //==============================================================================
51 TString outputFileName = AliAnalysisManager::GetCommonFileName();
52 outputFileName += ":PWGCF.outputFourPionAnalysis.root";
53 AliAnalysisDataContainer *coutFourPion = mgr->CreateContainer("FourPionOutput", TList::Class(),AliAnalysisManager::kOutputContainer,outputFileName.Data());
54 mgr->ConnectInput(FourPionTask, 0, mgr->GetCommonInputContainer());
55 mgr->ConnectOutput(FourPionTask, 1, coutFourPion);
56
57
58 TFile *inputFileWeight = 0;
59 TFile *inputFileMomRes = 0;
60 TFile *inputFileFSI = 0;
61
62
63 if(!TabulatePairs){
64 inputFileWeight = TFile::Open(StWeightName,"OLD");
65 if (!inputFileWeight){
66 cout << "Requested file:" << inputFileWeight << " was not opened. ABORT." << endl;
67 return NULL;
68 }
69 ////////////////////////////////////////////////////
70 // C2 Weight File
71 const Int_t ktbins_temp = FourPionTask->GetNumKtBins();
72 const Int_t cbins_temp = FourPionTask->GetNumCentBins();
73 const Int_t ktbins = ktbins_temp;
74 const Int_t cbins = cbins_temp;
75
76 TH3F *weightHisto[ktbins][cbins];
77 for(Int_t i=0; i<ktbins; i++){
78 for(Int_t j=0; j<cbins; j++){
79 TString name = "Weight_Kt_";
80 name += i;
81 name += "_Ky_0_M_";
82 name += j;
83 name += "_ED_0";
84
85 weightHisto[i][j] = (TH3F*)inputFileWeight->Get(name);
86 }
87 }
88 FourPionTask->SetWeightArrays( kTRUE, weightHisto );
89 ////////////////////////////////////////////////////
90 }// TabulatePairs check
91
92 if(!MCcase && !TabulatePairs){
93
94 inputFileMomRes = TFile::Open(StMomResName,"OLD");
95 if (!inputFileMomRes){
96 cout << "Requested file:" << inputFileMomRes << " was not opened. ABORT." << endl;
97 return NULL;
98 }
99 ////////////////////////////////////////////////////
100 // Momentum Resolution File
03c241ef 101 TH2D *momResHisto2DSC = 0;
102 TH2D *momResHisto2DMC = 0;
103 momResHisto2DSC = (TH2D*)inputFileMomRes->Get("MRC_C2_SC");
104 momResHisto2DMC = (TH2D*)inputFileMomRes->Get("MRC_C2_MC");
105 FourPionTask->SetMomResCorrections( kTRUE, momResHisto2DSC, momResHisto2DMC );
0bde631d 106 ////////////////////////////////////////////////////
b79b516e 107
108 // Muon corrections
109 inputFileMuon = TFile::Open(StMuonName,"OLD");
110 if (!inputFileMuon){
111 cout << "Requested file:" << inputFileMuon << " was not opened. ABORT." << endl;
112 return NULL;
113 }
114 TH2D *muonHisto2D = 0;
115 muonHisto2D = (TH2D*)inputFileMuon->Get("WeightmuonCorrection");
116 FourPionTask->SetMuonCorrections( kTRUE, muonHisto2D);
117
0bde631d 118 }// MCcase and TabulatePairs check
119
120
121 ////////////////////////////////////////////////////
122 // FSI File
123 inputFileFSI = TFile::Open(StKName,"OLD");
124 if (!inputFileFSI){
125 cout << "Requested file:" << inputFileFSI << " was not opened. ABORT." << endl;
126 return NULL;
127 }
128 TH1D *FSIss[12];
129 TH1D *FSIos[12];
130 for(Int_t index=0; index<12; index++) {
131 TString *nameSS=new TString("K2ss_");
132 *nameSS += index;
133 FSIss[index] = (TH1D*)inputFileFSI->Get(nameSS->Data());
134 TString *nameOS=new TString("K2os_");
135 *nameOS += index;
136 FSIos[index] = (TH1D*)inputFileFSI->Get(nameOS->Data());
137 //
138 FSIss[index]->SetDirectory(0);
139 FSIos[index]->SetDirectory(0);
140 }
141 //
142 FourPionTask->SetFSICorrelations( kTRUE, FSIss, FSIos );
143 ////////////////////////////////////////////////////
144
145
146 // Return the task pointer
147 return FourPionTask;
148}