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