]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/Correlations/DPhi/AliAnalysisTaskDiHadron.cxx
Completed changes needed because of previous commit
[u/mrichter/AliRoot.git] / PWGCF / Correlations / DPhi / AliAnalysisTaskDiHadron.cxx
CommitLineData
3b7aa4ba 1/**************************************************************************
2 * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: The ALICE Off-line Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15//2- and 3-particle trigger particle correlation analysis
16//Author: Jason Glyndwr Ulery, ulery@uni-frankfurt.de
69088c96 17//version: 3.4, last revised: 2010/08/15
3b7aa4ba 18
19#include "Riostream.h"
d514944f 20#include "TROOT.h"
3b7aa4ba 21#include "TChain.h"
22#include "TTree.h"
23#include "TH1F.h"
24#include "TH2F.h"
25#include "TH3F.h"
26#include "TFormula.h"
27#include "TF1.h"
28#include "TF2.h"
29#include "TF3.h"
30#include "TVector3.h"
31#include "TMath.h"
d514944f 32#include "TRandom3.h"
33#include "TSystem.h"
3b7aa4ba 34
35
36#include "AliAnalysisTask.h"
d514944f 37#include "AliAnalysisTaskSE.h"
3b7aa4ba 38#include "AliAnalysisManager.h"
d514944f 39#include "AliAnalysisTaskSE.h"
3b7aa4ba 40#include "AliESDEvent.h"
41#include "AliESDInputHandler.h"
d514944f 42#include "AliESDtrack.h"
43#include "AliAODEvent.h"
44#include "AliAODHeader.h"
45#include "AliAODInputHandler.h"
46#include "AliAODTrack.h"
3b7aa4ba 47#include "AliMCEvent.h"
48#include "AliMCEventHandler.h"
49#include "AliMCParticle.h"
50#include "AliStack.h"
51#include "AliESDVertex.h"
52#include "AliMultiplicity.h"
d514944f 53#include "AliESDVZERO.h"
3b7aa4ba 54#include "TParticle.h"
d514944f 55#include "AliCentrality.h"
3b7aa4ba 56
57//#include "AliHeader.h"
58//#include "AliGenEventHeader.h"
59
60
61
62#include "AliAnalysisTaskDiHadron.h"
63
64
65ClassImp(AliAnalysisTaskDiHadron)
66
67//----------------------------------------
68AliAnalysisTaskDiHadron::AliAnalysisTaskDiHadron(const char *name):
13171d17 69AliAnalysisTaskSE(name), fESD(0), fAOD(0), fMC(0), fOutput(0),fMinClustersTPC(0),fMinClusterRatio(0),fMaxTPCchi2(0),fMinClustersITS(0),fEtaCut(0),fTrigEtaCut(0),fNearPhiCut(0),fXECut(0),fMaxDCA(0),fMaxDCAXY(0),fMaxDCAZ(0),fDCA2D(0),fTPCRefit(0),fITSRefit(0),fSPDCut(0),fMinPtAssoc(0),fMaxPtAssoc(0),fVzCut(0),fAODData(0),fEfficiencyCorr(0),fDEBUG(0),fnBinPhi(0),fnBinEta(0),fnBinPhiEtaPhi(0),fnBinPhiEtaEta(0),fnBinPhi3(0),fnBinEta3(0),fPi(3.1415926535898),fdPhiMin(0),fdPhiMax(0),fNTPtBins(0),fNMix(0),fNCentBins(0),fCentPercent(0),fNAPtBins(0),fNAPt3Bins(0),fNVertexBins(0),fNXEBins(0),fNIDs(0),fEffFitPt(0),fNFitLowParam(0),fNFitHighParam(0),fV2FitPt(0),fV3FitPt(0),fV4FitPt(0),fNFitLowParamV2(0),fNFitHighParamV2(0),fNFitLowParamV3(0),fNFitHighParamV3(0),fNFitLowParamV4(0),fNFitHighParamV4(0),fMCHistos(0),fFitLow(NULL),fFitHigh(NULL),fFitLowParam(NULL),fFitHighParam(NULL),fFitLowV2(NULL),fFitHighV2(NULL),fFitLowParamV2(NULL),fFitHighParamV2(NULL),fFitLowV3(NULL),fFitHighV3(NULL),fFitLowParamV3(NULL),fFitHighParamV3(NULL),fFitLowV4(NULL),fFitHighV4(NULL),fFitLowParamV4(NULL),fFitHighParamV4(NULL),fPtTrigArray(NULL),fPtAssocArray(NULL),fPtAssoc3Array1(NULL),fPtAssoc3Array2(NULL),fCentArrayMin(NULL),fCentArrayMax(NULL),fXEArray(NULL),fTrigIDArray(NULL),fSimulate(0),fSimNBgPart(0),fSimNJetPart(0),fSimNJet(0),fSimNEvents(0),fSimAwayDeflected(0),fSimPsi2(0),fSimPsi3(0),fSimPsi4(0),fSimFlowMark(0),ftPhi(NULL),ftEta(NULL),ftPt(NULL),ftCharge(NULL),ftEff(NULL),ftV2(NULL),ftV3(NULL),ftV4(NULL),ftPtAssoc3(NULL),ftNPtAssoc3(NULL)
3b7aa4ba 70
71 {
d514944f 72 //TRandom *gRandom=new TRandom3();
73
3b7aa4ba 74 //IO Slots
75 DefineInput(0, TChain::Class());
76 DefineOutput(0,TList::Class());
77
78
79 for(int c=0;c<fNCentBins;c++){
80 for(int v=0;v<fNVertexBins;v++){
81 for(int jmc=0;jmc<2;jmc++){
d514944f 82 fMixPointer[c][v][jmc]=0;
83 fMixEnd[c][v][jmc]=0;
3b7aa4ba 84 for(int ievts=0;ievts<fNMix;ievts++){
85 fMPt[ievts][c][v][jmc]=NULL;
86 fMPhi[ievts][c][v][jmc]=NULL;
87 fMEta[ievts][c][v][jmc]=NULL;
d514944f 88 fMCharge[ievts][c][v][jmc]=NULL;
89 fMEff[ievts][c][v][jmc]=NULL;
90 fMV2[ievts][c][v][jmc]=NULL;
91 fMV4[ievts][c][v][jmc]=NULL;
3b7aa4ba 92 for(int dd=0;dd<10;dd++)fMPtAssoc3[ievts][c][v][jmc][dd]=NULL;
93 fMNPtAssoc3[ievts][c][v][jmc]=NULL;
94 fMixTrack[ievts][c][v][jmc]=0;
95 }
96 }
97 }
98 }
0f3a7491 99
3b7aa4ba 100 }
101//--------------------------------------
69088c96 102void AliAnalysisTaskDiHadron::SetCuts(Int_t MinClustersTPC, Float_t MinClusterRatio, Float_t MaxTPCchi2, Int_t MinClustersITS, Float_t EtaCut, Float_t TrigEtaCut, Float_t NearPhiCut, Float_t XECut, Float_t MaxDCA, Float_t MaxDCAXY, Float_t MaxDCAZ, Int_t DCA2D, Int_t TPCRefit, Int_t ITSRefit, Int_t SPDCut, Float_t MinPtAssoc, Float_t MaxPtAssoc, Float_t VzCut, Int_t NIDs, const char * TrigIDArray){
103//Sets the varibles for track and event cuts
d514944f 104 if(fDEBUG)Printf("Setting Cuts");
3b7aa4ba 105 fMinClustersTPC=MinClustersTPC;
106 fMinClusterRatio=MinClusterRatio;
107 fMaxTPCchi2=MaxTPCchi2;
108 fMinClustersITS=MinClustersITS;
109 fEtaCut=EtaCut;
110 fTrigEtaCut=TrigEtaCut;
111 fNearPhiCut=NearPhiCut;
112 fXECut=XECut;
113 fMaxDCA=MaxDCA;
114 fMaxDCAXY=MaxDCAXY;
115 fMaxDCAZ=MaxDCAZ;
116 fDCA2D=DCA2D;
117 fTPCRefit=TPCRefit;
118 fITSRefit=ITSRefit;
119 fSPDCut=SPDCut;
120 fMinPtAssoc=MinPtAssoc;
121 fMaxPtAssoc=MaxPtAssoc;
122 fVzCut=VzCut;
123 fNIDs=NIDs;
0f3a7491 124 fTrigIDArray=(char*)TrigIDArray;
3b7aa4ba 125}
126//--------------------------------------------------------
d514944f 127void AliAnalysisTaskDiHadron::SetOptions(Int_t AODData, Int_t EfficiencyCorr, Int_t ffDEBUG, Int_t MCHistos){
69088c96 128//Sets some options
d514944f 129 if(fDEBUG) Printf("Setting Options");
130 fAODData=AODData;
3b7aa4ba 131 fEfficiencyCorr=EfficiencyCorr;
69088c96 132 fDEBUG=ffDEBUG;
3b7aa4ba 133 fMCHistos=MCHistos;
3b7aa4ba 134}
135//------------------------------------------------------
d514944f 136void AliAnalysisTaskDiHadron::SetBins(Int_t nBinPhi, Int_t nBinEta, Int_t nBinPhiEtaPhi, Int_t nBinPhiEtaEta, Int_t nBinPhi3, Int_t nBinEta3,Float_t dPhiMin, Float_t dPhiMax, Int_t NTPtBins, Int_t NMixBins, Int_t NCentBins, Int_t CentPercent, Int_t NAPtBins, Int_t NAPt3Bins, Int_t NVertexBins, Int_t NXEBins,Float_t *PtTrigArray, Float_t *PtAssocArray,Float_t *PtAssoc3Array1, Float_t *PtAssoc3Array2, Int_t *CentArrayMin, Int_t *CentArrayMax, Float_t *XEArray){
69088c96 137//sets up the histogram binning
d514944f 138 if(fDEBUG)Printf("Setting Binning");
3b7aa4ba 139 fnBinPhi=nBinPhi;
140 fnBinEta=nBinEta;
141 fnBinPhiEtaPhi=nBinPhiEtaPhi;
142 fnBinPhiEtaEta=nBinPhiEtaEta;
143 fnBinPhi3=nBinPhi3;
144 fnBinEta3=nBinEta3;
145 fdPhiMin=dPhiMin;
146 fdPhiMax=dPhiMax;
147 fNTPtBins=NTPtBins;
148 fNMix=NMixBins;
149 fNCentBins=NCentBins;
d514944f 150 fCentPercent=CentPercent;
3b7aa4ba 151 fNAPtBins=NAPtBins;
152 fNAPt3Bins=NAPt3Bins;
153 fNVertexBins=NVertexBins;
154 fNXEBins=NXEBins;
0f3a7491 155 fPtTrigArray=new Float_t [fNTPtBins];
156 for(int i=0;i<fNTPtBins;i++)fPtTrigArray[i]=PtTrigArray[i];
157 fPtAssocArray=new Float_t [fNAPtBins];
13171d17 158 for(int i=0;i<fNAPtBins;i++)fPtAssocArray[i]=PtAssocArray[i];
0f3a7491 159 fPtAssoc3Array1=new Float_t [fNAPt3Bins];
160 for(int i=0;i<fNAPt3Bins;i++)fPtAssoc3Array1[i]=PtAssoc3Array1[i];
161 fPtAssoc3Array2=new Float_t [fNAPt3Bins];
162 for(int i=0;i<fNAPt3Bins;i++)fPtAssoc3Array2[i]=PtAssoc3Array2[i];
163 fCentArrayMin=new Int_t [fNCentBins];
164 for(int i=0;i<NCentBins;i++)fCentArrayMin[i]=CentArrayMin[i];
165 fCentArrayMax=new Int_t [fNCentBins];
166 for(int i=0;i<NCentBins;i++)fCentArrayMax[i]=CentArrayMax[i];
167 fXEArray=new Float_t [fNXEBins];
168 for(int i=0;i<fNXEBins;i++)fXEArray[i]=XEArray[i];
3b7aa4ba 169 for(int i=0;i<=fNVertexBins;i++)fVertexArray[i]=(2.*i/fNVertexBins-1)*fVzCut;
3b7aa4ba 170}
171//-------------------------------------------------------
69088c96 172void AliAnalysisTaskDiHadron::SetEfficiencies(Float_t EffFitPt, const TF1 *FitLow, const TF1 *FitHigh, Int_t NFitLowParam, Int_t NFitHighParam, Float_t *FitLowParam, Float_t *FitHighParam){
173//Sets up the efficiency corrections
d514944f 174 if(fDEBUG)Printf("Setting Efficiencies");
3b7aa4ba 175 fEffFitPt=EffFitPt;
176 fFitLow=(TF1*)FitLow;
177 fFitHigh=(TF1*)FitHigh;
178 fNFitLowParam=NFitLowParam;
179 fNFitHighParam=NFitHighParam;
0f3a7491 180 fFitLowParam=new Float_t [fNFitLowParam*fNCentBins];
181 for(int i=0;i<fNFitLowParam*fNCentBins;i++)fFitLowParam[i]=FitLowParam[i];
182 fFitHighParam=new Float_t [fNFitHighParam*fNCentBins];
183 for(int i=0;i<fNFitHighParam*fNCentBins;i++)fFitHighParam[i]=FitHighParam[i];
3b7aa4ba 184}
d514944f 185//-----------------------------------------------------------
186void AliAnalysisTaskDiHadron::SetFlow(Float_t V2FitPt, Float_t V3FitPt, Float_t V4FitPt, const TF1 *FitLowV2, const TF1 *FitHighV2, const TF1 *FitLowV3, const TF1 *FitHighV3, const TF1 *FitLowV4, const TF1 *FitHighV4, Int_t NFitLowParamV2, Int_t NFitHighParamV2, Int_t NFitLowParamV3, Int_t NFitHighParamV3, Int_t NFitLowParamV4, Int_t NFitHighParamV4, Float_t *FitLowParamV2, Float_t *FitHighParamV2, Float_t *FitLowParamV3, Float_t *FitHighParamV3, Float_t *FitLowParamV4, Float_t *FitHighParamV4){
187 if(fDEBUG)Printf("Setting Flow");
188 fV2FitPt=V2FitPt;
189 fV3FitPt=V3FitPt;
190 fV4FitPt=V4FitPt;
191 fFitLowV2=(TF1*)FitLowV2;
192 fFitHighV2=(TF1*)FitHighV2;
193 fFitLowV3=(TF1*)FitLowV3;
194 fFitHighV3=(TF1*)FitHighV3;
195 fFitLowV4=(TF1*)FitLowV4;
196 fFitHighV4=(TF1*)FitHighV4;
197 fNFitLowParamV2=NFitLowParamV2;
198 fNFitHighParamV2=NFitHighParamV2;
199 fNFitLowParamV3=NFitLowParamV3;
200 fNFitHighParamV3=NFitHighParamV3;
201 fNFitLowParamV4=NFitLowParamV4;
202 fNFitHighParamV4=NFitHighParamV4;
203
204 fFitLowParamV2=new Float_t [fNFitLowParamV2*fNCentBins];
205 for(int i=0;i<fNFitLowParamV2*fNCentBins;i++)fFitLowParamV2[i]=FitLowParamV2[i];
206 fFitHighParamV2=new Float_t [fNFitHighParamV2*fNCentBins];
207 for(int i=0;i<fNFitHighParamV2*fNCentBins;i++)fFitHighParamV2[i]=FitHighParamV2[i];
208
209 fFitLowParamV3=new Float_t [fNFitLowParamV3*fNCentBins];
210 for(int i=0;i<fNFitLowParamV3*fNCentBins;i++)fFitLowParamV3[i]=FitLowParamV3[i];
211 fFitHighParamV3=new Float_t [fNFitHighParamV3*fNCentBins];
212 for(int i=0;i<fNFitHighParamV3*fNCentBins;i++)fFitHighParamV3[i]=FitHighParamV3[i];
213
214 fFitLowParamV4=new Float_t [fNFitLowParamV4*fNCentBins];
215 for(int i=0;i<fNFitLowParamV4*fNCentBins;i++)fFitLowParamV4[i]=FitLowParamV4[i];
216 fFitHighParamV4=new Float_t [fNFitHighParamV4*fNCentBins];
217 for(int i=0;i<fNFitHighParamV4*fNCentBins;i++)fFitHighParamV4[i]=FitHighParamV4[i];
218 if(fDEBUG)Printf("FlowSet");
219 }
220//----------------------------------------------------------
13171d17 221void AliAnalysisTaskDiHadron::SetSimulation(Int_t Simulate, Float_t SimNBgPart, Float_t SimNJetPart, Float_t SimNJet, Int_t SimNEvents, Int_t SimAwayDeflected){
d514944f 222 fSimulate=Simulate;
223 fSimNBgPart=SimNBgPart;
224 fSimNJetPart=SimNJetPart;
225 fSimNJet=SimNJet;
226 fSimNEvents=SimNEvents;
13171d17 227 fSimAwayDeflected=SimAwayDeflected;
228 fSimFlowMark=0;
d514944f 229}
230
3b7aa4ba 231//-----------------------------------------------------------
232void AliAnalysisTaskDiHadron::ConnectInputData(Option_t *){
233 //Connect to ESD
69088c96 234 if(fDEBUG)Printf("Connecting");
3b7aa4ba 235 TTree* tree = dynamic_cast<TTree*> (GetInputData(0));
69088c96 236 if (!tree&&fDEBUG) {Printf("ERROR: Could not read chain from input slot 0");}
3b7aa4ba 237 else {
d514944f 238 if(!fAODData){
239AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
240 if (!esdH){if(fDEBUG) Printf("ERROR: Could not get ESDInputHandler");}
241 else fESD = esdH->GetEvent();
00596b83 242 }
d514944f 243 else{
244 AliAODInputHandler *aodH = dynamic_cast<AliAODInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
245 if (!aodH) {
246 Printf("ERROR: Could not get AODInputHandler");
247 }
248 else{
249 fAOD = aodH->GetEvent();
250 }
00596b83 251 }
3b7aa4ba 252 //MC Data handler (so one can calcualte eff)
253 AliMCEventHandler *mcH = dynamic_cast<AliMCEventHandler*>((AliAnalysisManager::GetAnalysisManager())->GetMCtruthEventHandler());
254 if(mcH)fMC=mcH->MCEvent();
255 }
d514944f 256 if(fDEBUG)Printf("Connected");
3b7aa4ba 257}
258
259//---------------------------------------------------------
260void AliAnalysisTaskDiHadron::CreateOutputObjects(){
3b7aa4ba 261 //Creates the histograms and list
69088c96 262 if(fDEBUG)Printf("Output");
3b7aa4ba 263 fOutput=new TList();
264 fOutput->SetName(GetName());
13171d17 265 char histname[512]={0};
266 char histtitle[512]={0};
3b7aa4ba 267 int nptbins=fNAPtBins;
268 int lptbins=0;
a4e1e779 269 const char *cmc1[2]={"","_MC"};
270 const char *cmc2[2]={""," MC"};
271 const char *sign1[3]={"","_LS","_ULS"};
272 const char *sign2[3]={""," Like-Sign"," Unlike-Sign"};
273 const char *sign31[4]={"","_LS","_ULT","_ULA"};
274 const char *sign32[4]={""," Like-Sign"," Trigger-Diff"," Assoc-Diff"};
69088c96 275 Float_t etaEdge=fEtaCut+fTrigEtaCut;
276 Float_t phiArray[fnBinPhi+1];
277 Float_t etaArray[fnBinEta+1];
278 Float_t phiEtaArrayPhi[fnBinPhiEtaPhi+1];
279 Float_t phiEtaArrayEta[fnBinPhiEtaEta+1];
13171d17 280 Int_t BufferSize=sizeof(histname);
3b7aa4ba 281 for(int iphi=0;iphi<=fnBinPhi;iphi++){
69088c96 282 phiArray[iphi]=fdPhiMin+iphi*2*fPi/fnBinPhi;
3b7aa4ba 283 }
284 for(int ieta=0;ieta<=fnBinEta;ieta++){
69088c96 285 etaArray[ieta]=-etaEdge+ieta*2*etaEdge/fnBinEta;
3b7aa4ba 286 }
287 for(int iphi=0;iphi<=fnBinPhiEtaPhi;iphi++){
69088c96 288 phiEtaArrayPhi[iphi]=fdPhiMin+iphi*2*fPi/fnBinPhiEtaPhi;
3b7aa4ba 289 }
290 for(int ieta=0;ieta<=fnBinPhiEtaEta;ieta++){
69088c96 291 phiEtaArrayEta[ieta]=-etaEdge+ieta*2*etaEdge/fnBinPhiEtaEta;
3b7aa4ba 292 }
293 for(int imc=0;imc<=1;imc++){//MC loop
294 if(imc==1&&!fMCHistos) continue;
295 //Create the histograms
d514944f 296 snprintf(histname,BufferSize,"fHistMult%s",cmc1[imc]);
297 snprintf(histtitle,BufferSize,"Multiplicity%s",cmc2[imc]);
3b7aa4ba 298 fHistMult[imc]=new TH1F(histname,histtitle,2000,-0.5,1999.5);
299 fHistMult[imc]->Sumw2();
300 fHistMult[imc]->GetXaxis()->SetTitle("Number of tracks");
301 fHistMult[imc]->GetYaxis()->SetTitle("Counts");
302 fOutput->Add(fHistMult[imc]);
303
304 for(int imult=0;imult<fNCentBins;imult++){//loop for multiplicity bins
305
306 //Histograms that are independent of the trigger
d514944f 307 snprintf(histname,BufferSize,"fHistPt_C%d%s",imult,cmc1[imc]);
308 snprintf(histtitle,BufferSize,"P_{T} Distribution of Tracks %dMult%d%s",fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
3b7aa4ba 309 fHistPt[imult][imc]=new TH1F(histname,histtitle,nptbins,fPtAssocArray);
310 fHistPt[imult][imc]->Sumw2();
311 fHistPt[imult][imc]->GetXaxis()->SetTitle("p_{T}");
312 fHistPt[imult][imc]->GetYaxis()->SetTitle("Counts");
313 fOutput->Add(fHistPt[imult][imc]);
314
d514944f 315 //Histograms that are independent of the trigger
316 snprintf(histname,BufferSize,"fHistPtEff_C%d%s",imult,cmc1[imc]);
317 snprintf(histtitle,BufferSize,"P_{T} Distribution of Tracks %dMult%d%s",fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
3b7aa4ba 318 fHistPtEff[imult][imc]=new TH1F(histname,histtitle,1000,0,100);
319 fHistPtEff[imult][imc]->Sumw2();
320 fHistPtEff[imult][imc]->GetXaxis()->SetTitle("p_{T}");
321 fHistPtEff[imult][imc]->GetYaxis()->SetTitle("Counts");
322 fOutput->Add(fHistPtEff[imult][imc]);
323
d514944f 324 snprintf(histname,BufferSize,"fHistPhi_C%d%s",imult,cmc1[imc]);
325 snprintf(histtitle,BufferSize,"#phi Distribution of Tracks %dMult%d%s",fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 326 fHistPhi[imult][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,nptbins,fPtAssocArray);
3b7aa4ba 327 fHistPhi[imult][imc]->Sumw2();
328 fHistPhi[imult][imc]->GetXaxis()->SetTitle("#phi");
329 fHistPhi[imult][imc]->GetYaxis()->SetTitle("P_{T}");
330 fOutput->Add(fHistPhi[imult][imc]);
331
d514944f 332 snprintf(histname,BufferSize,"fHistPhiPt_C%d%s",imult,cmc1[imc]);
333 snprintf(histtitle,BufferSize,"P_{T} weighted #phi Distribution of tracks %dMult%d%s",fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 334 fHistPhiPt[imult][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,nptbins,fPtAssocArray);
3b7aa4ba 335 fHistPhiPt[imult][imc]->Sumw2();
336 fHistPhiPt[imult][imc]->GetXaxis()->SetTitle("#phi");
337 fHistPhiPt[imult][imc]->GetYaxis()->SetTitle("P_{T}");
338 fOutput->Add(fHistPhiPt[imult][imc]);
339
d514944f 340 snprintf(histname,BufferSize,"fHistEta_C%d%s",imult,cmc1[imc]);
341 snprintf(histtitle,BufferSize,"#eta Distribution of Tracks %dMult%d%s",fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 342 fHistEta[imult][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,nptbins,fPtAssocArray);
3b7aa4ba 343 fHistEta[imult][imc]->Sumw2();
344 fHistEta[imult][imc]->GetXaxis()->SetTitle("#eta");
345 fHistEta[imult][imc]->GetYaxis()->SetTitle("P_{T}");
346 fOutput->Add(fHistEta[imult][imc]);
347
d514944f 348 snprintf(histname,BufferSize,"fHistEtaPt_C%d%s",imult,cmc1[imc]);
349 snprintf(histtitle,BufferSize,"P_{T} weighted #eta Distribution of tracks %dMult%d%s",fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 350 fHistEtaPt[imult][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,nptbins,fPtAssocArray);
3b7aa4ba 351 fHistEtaPt[imult][imc]->Sumw2();
352 fHistEtaPt[imult][imc]->GetXaxis()->SetTitle("#eta");
353 fHistEtaPt[imult][imc]->GetYaxis()->SetTitle("P_{T}");
354 fOutput->Add(fHistEtaPt[imult][imc]);
355
d514944f 356 snprintf(histname,BufferSize,"fHistNEvents_C%d%s",imult,cmc1[imc]);
357 snprintf(histtitle,BufferSize,"Number of Events and Number Passing Cuts %dMult%d%s",fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
3b7aa4ba 358 fHistNEvents[imult][imc]=new TH1F(histname,histtitle,2,-0.5,1.5);
359 fHistNEvents[imult][imc]->Sumw2();
360 fHistNEvents[imult][imc]->GetXaxis()->SetTitle("Events,Passing Cuts");
361 fHistNEvents[imult][imc]->GetYaxis()->SetTitle("Number of Events");
362 fOutput->Add(fHistNEvents[imult][imc]);
363
d514944f 364 snprintf(histname,BufferSize,"fHistNTrigger_C%d%s",imult,cmc1[imc]);
365 snprintf(histtitle,BufferSize,"Number of Triggers %dMult%d%s",fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
3b7aa4ba 366 fHistNTrigger[imult][imc]=new TH1F(histname,histtitle,fNTPtBins,-0.5,fNTPtBins-0.5);
367 fHistNTrigger[imult][imc]->Sumw2();
368 fHistNTrigger[imult][imc]->GetXaxis()->SetTitle("Trigger Number");
369 fHistNTrigger[imult][imc]->GetYaxis()->SetTitle("Number of Triggers");
370 fOutput->Add(fHistNTrigger[imult][imc]);
371
d514944f 372 snprintf(histname,BufferSize,"fHistNTriggerPt_C%d%s",imult,cmc1[imc]);
373 snprintf(histtitle,BufferSize,"P_{T} Weighted Number of Triggers %dMult%d%s",fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
3b7aa4ba 374 fHistNTriggerPt[imult][imc]=new TH1F(histname,histtitle,fNTPtBins,-0.5,fNTPtBins-0.5);
375 fHistNTriggerPt[imult][imc]->Sumw2();
376 fHistNTriggerPt[imult][imc]->GetXaxis()->SetTitle("Trigger Number");
377 fHistNTriggerPt[imult][imc]->GetYaxis()->SetTitle("Number of Triggers");
378 fOutput->Add(fHistNTriggerPt[imult][imc]);
379
d514944f 380 snprintf(histname,BufferSize,"fHistNMix_C%d%s",imult,cmc1[imc]);
381 snprintf(histtitle,BufferSize,"Number of Mixed Events %dMult%d%s",fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
3b7aa4ba 382 fHistNMix[imult][imc]=new TH1F(histname,histtitle,fNTPtBins,-0.5,fNTPtBins-0.5);
383 fHistNMix[imult][imc]->Sumw2();
384 fHistNMix[imult][imc]->GetXaxis()->SetTitle("Trigger Number");
385 fHistNMix[imult][imc]->GetYaxis()->SetTitle("Number of Mixed Events");
386 fOutput->Add(fHistNMix[imult][imc]);
387
d514944f 388 snprintf(histname,BufferSize,"fHistPhiEta_C%d%s",imult,cmc1[imc]);
389 snprintf(histtitle,BufferSize,"#phi-#eta distribution of tracks %dMult%d%s",fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 390 fHistPhiEta[imult][imc]=new TH3F(histname, histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,nptbins,fPtAssocArray);
3b7aa4ba 391 fHistPhiEta[imult][imc]->Sumw2();
392 fHistPhiEta[imult][imc]->GetXaxis()->SetTitle("#phi");
393 fHistPhiEta[imult][imc]->GetYaxis()->SetTitle("#eta");
394 fHistPhiEta[imult][imc]->GetZaxis()->SetTitle("p_{T}");
395 fOutput->Add(fHistPhiEta[imult][imc]);
396
d514944f 397 snprintf(histname,BufferSize,"fHistPhiEtaPt_C%d%s",imult,cmc1[imc]);
398 snprintf(histtitle,BufferSize,"Pt Weighted #phi-#eta distribution of tracks %dMult%d%s",fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 399 fHistPhiEtaPt[imult][imc]=new TH3F(histname, histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,nptbins,fPtAssocArray);
3b7aa4ba 400 fHistPhiEtaPt[imult][imc]->Sumw2();
401 fHistPhiEtaPt[imult][imc]->GetXaxis()->SetTitle("#phi");
402 fHistPhiEtaPt[imult][imc]->GetYaxis()->SetTitle("#eta");
403 fHistPhiEtaPt[imult][imc]->GetZaxis()->SetTitle("p_{T}");
404 fOutput->Add(fHistPhiEtaPt[imult][imc]);
405
69088c96 406 //if(fDEBUG)Printf("OutPut2");
3b7aa4ba 407 //Histograms with a trigger dependence
408
409 for(int i=0;i<fNTPtBins;i++){
410 for(int j=1;j<fNAPtBins;j++){
69088c96 411 if(fabs(fPtTrigArray[i]-fPtAssocArray[j])<1E-5)lptbins=j;
3b7aa4ba 412 }
69088c96 413 //if(fDEBUG)Printf("Loop: %d Pt %3.2f",i,fPtTrigArray[i]/fPtBinWidth);
3b7aa4ba 414
415 //Ones with no centrality binning
416 if(imult==0){
d514944f 417 snprintf(histname,BufferSize,"fHistMultTrig_P%d%s",i,cmc1[imc]);
418 snprintf(histtitle,BufferSize,"Distrubition of number of tracks in triggered events with %3.1f<p_{T}^{Trig}<%3.1f%s",fPtTrigArray[i],fPtTrigArray[i+1],cmc2[imc]);
3b7aa4ba 419 fHistMultTrig[i][imc]=new TH1F(histname,histtitle,2000,0,2000);
420 fHistMultTrig[i][imc]->Sumw2();
421 fHistMultTrig[i][imc]->GetXaxis()->SetTitle("Number of Tracks");
422 fHistMultTrig[i][imc]->GetYaxis()->SetTitle("Counts");
423 fOutput->Add(fHistMultTrig[i][imc]);
424 }
d514944f 425 snprintf(histname,BufferSize,"fHistPtTrig_P%d_C%d%s",i,imult,cmc1[imc]);
426 snprintf(histtitle,BufferSize,"P_{T} distribution in triggered events with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
3b7aa4ba 427 fHistPtTrig[i][imult][imc]=new TH1F(histname,histtitle,nptbins,fPtAssocArray);
428 fHistPtTrig[i][imult][imc]->Sumw2();
429 fHistPtTrig[i][imult][imc]->GetXaxis()->SetTitle("p_{T}");
430 fHistPtTrig[i][imult][imc]->GetYaxis()->SetTitle("Counts");
431 fOutput->Add(fHistPtTrig[i][imult][imc]);
432
d514944f 433 snprintf(histname,BufferSize,"fHistPhiTrig_P%d_C%d%s",i,imult,cmc1[imc]);
434 snprintf(histtitle,BufferSize,"Phi Distribution of triggered events with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 435 fHistPhiTrig[i][imult][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
3b7aa4ba 436 fHistPhiTrig[i][imult][imc]->Sumw2();
437 fHistPhiTrig[i][imult][imc]->GetXaxis()->SetTitle("#phi");
438 fHistPhiTrig[i][imult][imc]->GetYaxis()->SetTitle("p_{T}");
439 fOutput->Add(fHistPhiTrig[i][imult][imc]);
440
d514944f 441 snprintf(histname,BufferSize,"fHistPhiTrigPt_P%d_C%d%s",i,imult,cmc1[imc]);
442 snprintf(histtitle,BufferSize,"P_{T} Weighted Phi Distribution of triggered events with %3.1f<p_{T}^{Trig}<%3.1f%s",fPtTrigArray[i],fPtTrigArray[i+1],cmc2[imc]);
69088c96 443 fHistPhiTrigPt[i][imult][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
3b7aa4ba 444 fHistPhiTrigPt[i][imult][imc]->Sumw2();
445 fHistPhiTrigPt[i][imult][imc]->GetXaxis()->SetTitle("#phi");
446 fHistPhiTrigPt[i][imult][imc]->GetYaxis()->SetTitle("p_{T}");
447 fOutput->Add(fHistPhiTrigPt[i][imult][imc]);
448
d514944f 449 snprintf(histname,BufferSize,"fHistEtaTrig_P%d_C%d%s",i,imult,cmc1[imc]);
450 snprintf(histtitle,BufferSize,"Eta Distribution of triggered events with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 451 fHistEtaTrig[i][imult][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
3b7aa4ba 452 fHistEtaTrig[i][imult][imc]->Sumw2();
453 fHistEtaTrig[i][imult][imc]->GetXaxis()->SetTitle("#eta");
454 fHistEtaTrig[i][imult][imc]->GetYaxis()->SetTitle("p_{T}");
455 fOutput->Add(fHistEtaTrig[i][imult][imc]);
456
d514944f 457 snprintf(histname,BufferSize,"fHistEtaTrigPt_P%d_C%d%s",i,imult,cmc1[imc]);
458 snprintf(histtitle,BufferSize,"P_{T} Weighted Eta Distribution of triggered events with %3.1f<p_{T}^{Trig}<%3.1f%s",fPtTrigArray[i],fPtTrigArray[i+1],cmc2[imc]);
69088c96 459 fHistEtaTrigPt[i][imult][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
3b7aa4ba 460 fHistEtaTrigPt[i][imult][imc]->Sumw2();
461 fHistEtaTrigPt[i][imult][imc]->GetXaxis()->SetTitle("#eta");
462 fHistEtaTrigPt[i][imult][imc]->GetYaxis()->SetTitle("p_{T}");
463 fOutput->Add(fHistEtaTrigPt[i][imult][imc]);
464
d514944f 465 snprintf(histname,BufferSize,"fHistPhiEtaTrig_P%d_C%d%s",i,imult,cmc1[imc]);
466 snprintf(histtitle,BufferSize,"#phi-#eta distribution in triggered events %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 467 fHistPhiEtaTrig[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
3b7aa4ba 468 fHistPhiEtaTrig[i][imult][imc]->Sumw2();
469 fHistPhiEtaTrig[i][imult][imc]->GetXaxis()->SetTitle("#phi");
470 fHistPhiEtaTrig[i][imult][imc]->GetYaxis()->SetTitle("#eta");
471 fHistPhiEtaTrig[i][imult][imc]->GetZaxis()->SetTitle("p_{T}");
472 fOutput->Add(fHistPhiEtaTrig[i][imult][imc]);
473
d514944f 474 snprintf(histname,BufferSize,"fHistXEN_P%d_C%d%s",i,imult,cmc1[imc]);
475 snprintf(histtitle,BufferSize,"Near-Side X_{E} distribution for %3.1f<p_{T}^{Lead}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
3b7aa4ba 476 fHistXEN[i][imult][imc]=new TH1F(histname,histtitle,fNXEBins,fXEArray);
477 fHistXEN[i][imult][imc]->Sumw2();
478 fHistXEN[i][imult][imc]->GetXaxis()->SetTitle("X_{E}");
479 fOutput->Add(fHistXEN[i][imult][imc]);
480
d514944f 481 snprintf(histname,BufferSize,"fHistXENMixed_P%d_C%d%s",i,imult,cmc1[imc]);
482 snprintf(histtitle,BufferSize,"Mixed Near-Side X_{E} distribution for %3.1f<p_{T}^{Lead}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
3b7aa4ba 483 fHistXENMix[i][imult][imc]=new TH1F(histname,histtitle,fNXEBins,fXEArray);
484 fHistXENMix[i][imult][imc]->Sumw2();
485 fHistXENMix[i][imult][imc]->GetXaxis()->SetTitle("X_{E}");
486 fOutput->Add(fHistXENMix[i][imult][imc]);
487
d514944f 488 snprintf(histname,BufferSize,"fHistXEA_P%d_C%d%s",i,imult,cmc1[imc]);
489 snprintf(histtitle,BufferSize,"Away-Side X_{E} distribution for %3.1f<p_{T}^{Lead}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
3b7aa4ba 490 fHistXEA[i][imult][imc]=new TH1F(histname,histtitle,fNXEBins,fXEArray);
491 fHistXEA[i][imult][imc]->Sumw2();
492 fHistXEA[i][imult][imc]->GetXaxis()->SetTitle("X_{E}");
493 fOutput->Add(fHistXEA[i][imult][imc]);
494
d514944f 495 snprintf(histname,BufferSize,"fHistXEAMixed_P%d_C%d%s",i,imult,cmc1[imc]);
496 snprintf(histtitle,BufferSize,"Mixed Away-Side X_{E} distribution for %3.1f<p_{T}^{Lead}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
3b7aa4ba 497 fHistXEAMix[i][imult][imc]=new TH1F(histname,histtitle,fNXEBins,fXEArray);
498 fHistXEAMix[i][imult][imc]->Sumw2();
499 fHistXEAMix[i][imult][imc]->GetXaxis()->SetTitle("X_{E}");
500 fOutput->Add(fHistXEAMix[i][imult][imc]);
501
502 //signloop
503 for(int isign=0;isign<3;isign++){
d514944f 504 snprintf(histname,BufferSize,"fHistDeltaPhi_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
505 snprintf(histtitle,BufferSize,"#Delta#phi Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
69088c96 506 fHistDeltaPhi[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
3b7aa4ba 507 fHistDeltaPhi[i][imult][isign][imc]->Sumw2();
508 fHistDeltaPhi[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#phi");
509 fHistDeltaPhi[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
510 fOutput->Add(fHistDeltaPhi[i][imult][isign][imc]);
511
d514944f 512 snprintf(histname,BufferSize,"fHistDeltaPhiPt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
513 snprintf(histtitle,BufferSize,"P_{T} Weighted #Delta#phi Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
69088c96 514 fHistDeltaPhiPt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
3b7aa4ba 515 fHistDeltaPhiPt[i][imult][isign][imc]->Sumw2();
516 fHistDeltaPhiPt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#phi");
517 fHistDeltaPhiPt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
518 fOutput->Add(fHistDeltaPhiPt[i][imult][isign][imc]);
519
d514944f 520 snprintf(histname,BufferSize,"fHistDeltaPhiMix_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
521 snprintf(histtitle,BufferSize,"#Delta#phi Mixed Event Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
69088c96 522 fHistDeltaPhiMix[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
3b7aa4ba 523 fHistDeltaPhiMix[i][imult][isign][imc]->Sumw2();
524 fHistDeltaPhiMix[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#phi");
525 fHistDeltaPhiMix[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
526 fOutput->Add(fHistDeltaPhiMix[i][imult][isign][imc]);
d514944f 527
528 snprintf(histname,BufferSize,"fHistDeltaPhiMixV2_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
529 snprintf(histtitle,BufferSize,"#Delta#phi Mixed Event V2 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
530 fHistDeltaPhiMixV2[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
531 fHistDeltaPhiMixV2[i][imult][isign][imc]->Sumw2();
532 fHistDeltaPhiMixV2[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#phi");
533 fHistDeltaPhiMixV2[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
534 fOutput->Add(fHistDeltaPhiMixV2[i][imult][isign][imc]);
535
536 snprintf(histname,BufferSize,"fHistDeltaPhiMixV3_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
537 snprintf(histtitle,BufferSize,"#Delta#phi Mixed Event V3 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
538 fHistDeltaPhiMixV3[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
539 fHistDeltaPhiMixV3[i][imult][isign][imc]->Sumw2();
540 fHistDeltaPhiMixV3[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#phi");
541 fHistDeltaPhiMixV3[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
542 fOutput->Add(fHistDeltaPhiMixV3[i][imult][isign][imc]);
543
544 snprintf(histname,BufferSize,"fHistDeltaPhiMixV4_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
545 snprintf(histtitle,BufferSize,"#Delta#phi Mixed Event V4 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
546 fHistDeltaPhiMixV4[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
547 fHistDeltaPhiMixV4[i][imult][isign][imc]->Sumw2();
548 fHistDeltaPhiMixV4[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#phi");
549 fHistDeltaPhiMixV4[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
550 fOutput->Add(fHistDeltaPhiMixV4[i][imult][isign][imc]);
3b7aa4ba 551
d514944f 552 snprintf(histname,BufferSize,"fHistDeltaPhiMixPt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
553 snprintf(histtitle,BufferSize,"P_{T} Weighted #Delta#phi Mixed Event Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
69088c96 554 fHistDeltaPhiMixPt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
3b7aa4ba 555 fHistDeltaPhiMixPt[i][imult][isign][imc]->Sumw2();
556 fHistDeltaPhiMixPt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#phi");
557 fHistDeltaPhiMixPt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
558 fOutput->Add(fHistDeltaPhiMixPt[i][imult][isign][imc]);
d514944f 559
560 snprintf(histname,BufferSize,"fHistDeltaPhiMixV2Pt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
561 snprintf(histtitle,BufferSize,"P_{T} Weighted #Delta#phi Mixed Event V2 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
562 fHistDeltaPhiMixV2Pt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
563 fHistDeltaPhiMixV2Pt[i][imult][isign][imc]->Sumw2();
564 fHistDeltaPhiMixV2Pt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#phi");
565 fHistDeltaPhiMixV2Pt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
566 fOutput->Add(fHistDeltaPhiMixV2Pt[i][imult][isign][imc]);
567
568 snprintf(histname,BufferSize,"fHistDeltaPhiMixV3Pt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
569 snprintf(histtitle,BufferSize,"P_{T} Weighted #Delta#phi Mixed Event V3 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
570 fHistDeltaPhiMixV3Pt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
571 fHistDeltaPhiMixV3Pt[i][imult][isign][imc]->Sumw2();
572 fHistDeltaPhiMixV3Pt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#phi");
573 fHistDeltaPhiMixV3Pt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
574 fOutput->Add(fHistDeltaPhiMixV3Pt[i][imult][isign][imc]);
3b7aa4ba 575
d514944f 576 snprintf(histname,BufferSize,"fHistDeltaPhiMixV4Pt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
577 snprintf(histtitle,BufferSize,"P_{T} Weighted #Delta#phi Mixed Event V4 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
578 fHistDeltaPhiMixV4Pt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
579 fHistDeltaPhiMixV4Pt[i][imult][isign][imc]->Sumw2();
580 fHistDeltaPhiMixV4Pt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#phi");
581 fHistDeltaPhiMixV4Pt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
582 fOutput->Add(fHistDeltaPhiMixV4Pt[i][imult][isign][imc]);
583
584
3b7aa4ba 585 //etaNear
d514944f 586 snprintf(histname,BufferSize,"fHistDeltaEtaN_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
587 snprintf(histtitle,BufferSize,"Near-Side #Delta#eta Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
69088c96 588 fHistDeltaEtaN[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
3b7aa4ba 589 fHistDeltaEtaN[i][imult][isign][imc]->Sumw2();
590 fHistDeltaEtaN[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
591 fHistDeltaEtaN[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
592 fOutput->Add(fHistDeltaEtaN[i][imult][isign][imc]);
593
d514944f 594 snprintf(histname,BufferSize,"fHistDeltaEtaNPt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
595 snprintf(histtitle,BufferSize,"Near-Side P_{T} Weighted #Delta#eta Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
69088c96 596 fHistDeltaEtaNPt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
3b7aa4ba 597 fHistDeltaEtaNPt[i][imult][isign][imc]->Sumw2();
598 fHistDeltaEtaNPt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
599 fHistDeltaEtaNPt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
600 fOutput->Add(fHistDeltaEtaNPt[i][imult][isign][imc]);
601
d514944f 602 snprintf(histname,BufferSize,"fHistDeltaEtaNMix_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
603 snprintf(histtitle,BufferSize,"Near-Side #Delta#eta Mixed Event Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
69088c96 604 fHistDeltaEtaNMix[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
3b7aa4ba 605 fHistDeltaEtaNMix[i][imult][isign][imc]->Sumw2();
606 fHistDeltaEtaNMix[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
607 fHistDeltaEtaNMix[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
608 fOutput->Add(fHistDeltaEtaNMix[i][imult][isign][imc]);
d514944f 609
610 snprintf(histname,BufferSize,"fHistDeltaEtaNMixV2_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
611 snprintf(histtitle,BufferSize,"Near-Side #Delta#eta Mixed Event V2 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
612 fHistDeltaEtaNMixV2[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
613 fHistDeltaEtaNMixV2[i][imult][isign][imc]->Sumw2();
614 fHistDeltaEtaNMixV2[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
615 fHistDeltaEtaNMixV2[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
616 fOutput->Add(fHistDeltaEtaNMixV2[i][imult][isign][imc]);
617
618 snprintf(histname,BufferSize,"fHistDeltaEtaNMixV3_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
619 snprintf(histtitle,BufferSize,"Near-Side #Delta#eta Mixed Event V2 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
620 fHistDeltaEtaNMixV3[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
621 fHistDeltaEtaNMixV3[i][imult][isign][imc]->Sumw2();
622 fHistDeltaEtaNMixV3[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
623 fHistDeltaEtaNMixV3[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
624 fOutput->Add(fHistDeltaEtaNMixV3[i][imult][isign][imc]);
625
626 snprintf(histname,BufferSize,"fHistDeltaEtaNMixV4_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
627 snprintf(histtitle,BufferSize,"Near-Side #Delta#eta Mixed Event V4 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
628 fHistDeltaEtaNMixV4[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
629 fHistDeltaEtaNMixV4[i][imult][isign][imc]->Sumw2();
630 fHistDeltaEtaNMixV4[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
631 fHistDeltaEtaNMixV4[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
632 fOutput->Add(fHistDeltaEtaNMixV4[i][imult][isign][imc]);
633
3b7aa4ba 634
d514944f 635 snprintf(histname,BufferSize,"fHistDeltaEtaNMixPt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
636 snprintf(histtitle,BufferSize,"Near-Side P_{T} Weighted #Delta#eta Mixed Event Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
69088c96 637 fHistDeltaEtaNMixPt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
3b7aa4ba 638 fHistDeltaEtaNMixPt[i][imult][isign][imc]->Sumw2();
639 fHistDeltaEtaNMixPt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
640 fHistDeltaEtaNMixPt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
641 fOutput->Add(fHistDeltaEtaNMixPt[i][imult][isign][imc]);
d514944f 642
643 snprintf(histname,BufferSize,"fHistDeltaEtaNMixV2Pt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
644 snprintf(histtitle,BufferSize,"Near-Side P_{T} Weighted #Delta#eta Mixed Event V2 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
645 fHistDeltaEtaNMixV2Pt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
646 fHistDeltaEtaNMixV2Pt[i][imult][isign][imc]->Sumw2();
647 fHistDeltaEtaNMixV2Pt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
648 fHistDeltaEtaNMixV2Pt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
649 fOutput->Add(fHistDeltaEtaNMixV2Pt[i][imult][isign][imc]);
650
651 snprintf(histname,BufferSize,"fHistDeltaEtaNMixV3Pt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
652 snprintf(histtitle,BufferSize,"Near-Side P_{T} Weighted #Delta#eta Mixed Event V2 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
653 fHistDeltaEtaNMixV3Pt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
654 fHistDeltaEtaNMixV3Pt[i][imult][isign][imc]->Sumw2();
655 fHistDeltaEtaNMixV3Pt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
656 fHistDeltaEtaNMixV3Pt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
657 fOutput->Add(fHistDeltaEtaNMixV3Pt[i][imult][isign][imc]);
658
659 snprintf(histname,BufferSize,"fHistDeltaEtaNMixV4Pt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
660 snprintf(histtitle,BufferSize,"Near-Side P_{T} Weighted #Delta#eta V4 Mixed Event Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
661 fHistDeltaEtaNMixV4Pt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
662 fHistDeltaEtaNMixV4Pt[i][imult][isign][imc]->Sumw2();
663 fHistDeltaEtaNMixV4Pt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
664 fHistDeltaEtaNMixV4Pt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
665 fOutput->Add(fHistDeltaEtaNMixV4Pt[i][imult][isign][imc]);
666
3b7aa4ba 667 //Away Eta
d514944f 668 snprintf(histname,BufferSize,"fHistDeltaEtaA_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
669 snprintf(histtitle,BufferSize,"Away-Side #Delta#eta Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
69088c96 670 fHistDeltaEtaA[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
3b7aa4ba 671 fHistDeltaEtaA[i][imult][isign][imc]->Sumw2();
672 fHistDeltaEtaA[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
673 fHistDeltaEtaA[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
674 fOutput->Add(fHistDeltaEtaA[i][imult][isign][imc]);
675
d514944f 676 snprintf(histname,BufferSize,"fHistDeltaEtaAPt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
677 snprintf(histtitle,BufferSize,"Away-Side P_{T} Weighted #Delta#eta Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
69088c96 678 fHistDeltaEtaAPt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
3b7aa4ba 679 fHistDeltaEtaAPt[i][imult][isign][imc]->Sumw2();
680 fHistDeltaEtaAPt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
681 fHistDeltaEtaAPt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
682 fOutput->Add(fHistDeltaEtaAPt[i][imult][isign][imc]);
683
d514944f 684 snprintf(histname,BufferSize,"fHistDeltaEtaAMix_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
685 snprintf(histtitle,BufferSize,"Away-Side #Delta#eta Mixed Event Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
69088c96 686 fHistDeltaEtaAMix[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
3b7aa4ba 687 fHistDeltaEtaAMix[i][imult][isign][imc]->Sumw2();
688 fHistDeltaEtaAMix[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
689 fHistDeltaEtaAMix[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
690 fOutput->Add(fHistDeltaEtaAMix[i][imult][isign][imc]);
d514944f 691
692 snprintf(histname,BufferSize,"fHistDeltaEtaAMixV2_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
693 snprintf(histtitle,BufferSize,"Away-Side #Delta#eta Mixed Event V2 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
694 fHistDeltaEtaAMixV2[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
695 fHistDeltaEtaAMixV2[i][imult][isign][imc]->Sumw2();
696 fHistDeltaEtaAMixV2[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
697 fHistDeltaEtaAMixV2[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
698 fOutput->Add(fHistDeltaEtaAMixV2[i][imult][isign][imc]);
699
700
701 snprintf(histname,BufferSize,"fHistDeltaEtaAMixV3_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
702 snprintf(histtitle,BufferSize,"Away-Side #Delta#eta Mixed Event V3 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
703 fHistDeltaEtaAMixV3[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
704 fHistDeltaEtaAMixV3[i][imult][isign][imc]->Sumw2();
705 fHistDeltaEtaAMixV3[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
706 fHistDeltaEtaAMixV3[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
707 fOutput->Add(fHistDeltaEtaAMixV3[i][imult][isign][imc]);
708
709
710 snprintf(histname,BufferSize,"fHistDeltaEtaAMixV4_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
711 snprintf(histtitle,BufferSize,"Away-Side #Delta#eta Mixed Event V4 Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
712 fHistDeltaEtaAMixV4[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
713 fHistDeltaEtaAMixV4[i][imult][isign][imc]->Sumw2();
714 fHistDeltaEtaAMixV4[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
715 fHistDeltaEtaAMixV4[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
716 fOutput->Add(fHistDeltaEtaAMixV4[i][imult][isign][imc]);
3b7aa4ba 717
d514944f 718 snprintf(histname,BufferSize,"fHistDeltaEtaAMixPt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
719 snprintf(histtitle,BufferSize,"Away-Side P_{T} Weighted #Delta#eta Mixed Event Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
69088c96 720 fHistDeltaEtaAMixPt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
3b7aa4ba 721 fHistDeltaEtaAMixPt[i][imult][isign][imc]->Sumw2();
722 fHistDeltaEtaAMixPt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
723 fHistDeltaEtaAMixPt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
724 fOutput->Add(fHistDeltaEtaAMixPt[i][imult][isign][imc]);
725
d514944f 726 snprintf(histname,BufferSize,"fHistDeltaEtaAMixV2Pt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
727 snprintf(histtitle,BufferSize,"Away-Side P_{T} Weighted V2 #Delta#eta Mixed Event Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
728 fHistDeltaEtaAMixV2Pt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
729 fHistDeltaEtaAMixV2Pt[i][imult][isign][imc]->Sumw2();
730 fHistDeltaEtaAMixV2Pt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
731 fHistDeltaEtaAMixV2Pt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
732 fOutput->Add(fHistDeltaEtaAMixV2Pt[i][imult][isign][imc]);
733
734 snprintf(histname,BufferSize,"fHistDeltaEtaAMixV3Pt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
735 snprintf(histtitle,BufferSize,"Away-Side P_{T} Weighted V3 #Delta#eta Mixed Event Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
736 fHistDeltaEtaAMixV3Pt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
737 fHistDeltaEtaAMixV3Pt[i][imult][isign][imc]->Sumw2();
738 fHistDeltaEtaAMixV3Pt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
739 fHistDeltaEtaAMixV3Pt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
740 fOutput->Add(fHistDeltaEtaAMixV3Pt[i][imult][isign][imc]);
741
742 snprintf(histname,BufferSize,"fHistDeltaEtaAMixV4Pt_P%d_C%d%s%s",i,imult,sign1[isign],cmc1[imc]);
743 snprintf(histtitle,BufferSize,"Away-Side P_{T} Weighted #Delta#eta V4 Mixed Event Distribution with %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],sign2[isign],cmc2[imc]);
744 fHistDeltaEtaAMixV4Pt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
745 fHistDeltaEtaAMixV4Pt[i][imult][isign][imc]->Sumw2();
746 fHistDeltaEtaAMixV4Pt[i][imult][isign][imc]->GetXaxis()->SetTitle("#Delta#eta");
747 fHistDeltaEtaAMixV4Pt[i][imult][isign][imc]->GetYaxis()->SetTitle("p_{T}");
748 fOutput->Add(fHistDeltaEtaAMixV4Pt[i][imult][isign][imc]);
749
3b7aa4ba 750
751 //====
752 }//end isignloop
d514944f 753 snprintf(histname,BufferSize,"fHistDeltaPhiEta_P%d_C%d%s",i,imult,cmc1[imc]);
754 snprintf(histtitle,BufferSize,"#Delta#phi-#Delta#eta %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 755 fHistDeltaPhiEta[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
3b7aa4ba 756 fHistDeltaPhiEta[i][imult][imc]->Sumw2();
757 fHistDeltaPhiEta[i][imult][imc]->GetXaxis()->SetTitle("#phi");
758 fHistDeltaPhiEta[i][imult][imc]->GetYaxis()->SetTitle("#eta");
759 fHistDeltaPhiEta[i][imult][imc]->GetZaxis()->SetTitle("p_{T}");
760 fOutput->Add(fHistDeltaPhiEta[i][imult][imc]);
761
d514944f 762
763 snprintf(histname,BufferSize,"fHistDeltaPhiEtaMix_P%d_C%d%s",i,imult,cmc1[imc]);
764 snprintf(histtitle,BufferSize,"#Delta#phi-#Delta#eta from Mixed Events %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 765 fHistDeltaPhiEtaMix[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
3b7aa4ba 766 fHistDeltaPhiEtaMix[i][imult][imc]->Sumw2();
767 fHistDeltaPhiEtaMix[i][imult][imc]->GetXaxis()->SetTitle("#phi");
768 fHistDeltaPhiEtaMix[i][imult][imc]->GetYaxis()->SetTitle("#eta");
769 fHistDeltaPhiEtaMix[i][imult][imc]->GetZaxis()->SetTitle("p_{T}");
770 fOutput->Add(fHistDeltaPhiEtaMix[i][imult][imc]);
d514944f 771
772 snprintf(histname,BufferSize,"fHistDeltaPhiEtaMixV2_P%d_C%d%s",i,imult,cmc1[imc]);
773 snprintf(histtitle,BufferSize,"#Delta#phi-#Delta#eta V2 from Mixed Events %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
774 fHistDeltaPhiEtaMixV2[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
775 fHistDeltaPhiEtaMixV2[i][imult][imc]->Sumw2();
776 fHistDeltaPhiEtaMixV2[i][imult][imc]->GetXaxis()->SetTitle("#phi");
777 fHistDeltaPhiEtaMixV2[i][imult][imc]->GetYaxis()->SetTitle("#eta");
778 fHistDeltaPhiEtaMixV2[i][imult][imc]->GetZaxis()->SetTitle("p_{T}");
779 fOutput->Add(fHistDeltaPhiEtaMixV2[i][imult][imc]);
780
781 snprintf(histname,BufferSize,"fHistDeltaPhiEtaMixV3_P%d_C%d%s",i,imult,cmc1[imc]);
782 snprintf(histtitle,BufferSize,"#Delta#phi-#Delta#eta V3 from Mixed Events %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
783 fHistDeltaPhiEtaMixV3[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
784 fHistDeltaPhiEtaMixV3[i][imult][imc]->Sumw2();
785 fHistDeltaPhiEtaMixV3[i][imult][imc]->GetXaxis()->SetTitle("#phi");
786 fHistDeltaPhiEtaMixV3[i][imult][imc]->GetYaxis()->SetTitle("#eta");
787 fHistDeltaPhiEtaMixV3[i][imult][imc]->GetZaxis()->SetTitle("p_{T}");
788 fOutput->Add(fHistDeltaPhiEtaMixV3[i][imult][imc]);
789
790 snprintf(histname,BufferSize,"fHistDeltaPhiEtaMixV4_P%d_C%d%s",i,imult,cmc1[imc]);
791 snprintf(histtitle,BufferSize,"#Delta#phi-#Delta#eta V4 from Mixed Events %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
792 fHistDeltaPhiEtaMixV4[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
793 fHistDeltaPhiEtaMixV4[i][imult][imc]->Sumw2();
794 fHistDeltaPhiEtaMixV4[i][imult][imc]->GetXaxis()->SetTitle("#phi");
795 fHistDeltaPhiEtaMixV4[i][imult][imc]->GetYaxis()->SetTitle("#eta");
796 fHistDeltaPhiEtaMixV4[i][imult][imc]->GetZaxis()->SetTitle("p_{T}");
797 fOutput->Add(fHistDeltaPhiEtaMixV4[i][imult][imc]);
3b7aa4ba 798
d514944f 799 snprintf(histname,BufferSize,"fHistPhiEtaTrigPt_P%d_C%d%s",i,imult,cmc1[imc]);
800 snprintf(histtitle,BufferSize,"P_{T}-Weighted #phi-#eta distribution in triggered events %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 801 fHistPhiEtaTrigPt[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
3b7aa4ba 802 fHistPhiEtaTrigPt[i][imult][imc]->Sumw2();
803 fHistPhiEtaTrigPt[i][imult][imc]->GetXaxis()->SetTitle("#phi");
804 fHistPhiEtaTrigPt[i][imult][imc]->GetYaxis()->SetTitle("#eta");
805 fHistPhiEtaTrigPt[i][imult][imc]->GetZaxis()->SetTitle("p_{T}");
806 fOutput->Add(fHistPhiEtaTrigPt[i][imult][imc]);
807
d514944f 808 snprintf(histname,BufferSize,"fHistDeltaPhiEtaPt_P%d_C%d%s",i,imult,cmc1[imc]);
809 snprintf(histtitle,BufferSize,"P_{T}-Weighted #Delta#phi-#Delta#eta %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 810 fHistDeltaPhiEtaPt[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
3b7aa4ba 811 fHistDeltaPhiEtaPt[i][imult][imc]->Sumw2();
812 fHistDeltaPhiEtaPt[i][imult][imc]->GetXaxis()->SetTitle("#phi");
813 fHistDeltaPhiEtaPt[i][imult][imc]->GetYaxis()->SetTitle("#eta");
814 fHistDeltaPhiEtaPt[i][imult][imc]->GetZaxis()->SetTitle("p_{T}");
815 fOutput->Add(fHistDeltaPhiEtaPt[i][imult][imc]);
816
d514944f 817 snprintf(histname,BufferSize,"fHistDeltaPhiEtaMixPt_P%d_C%d%s",i,imult,cmc1[imc]);
818 snprintf(histtitle,BufferSize,"P_{T}-Weighted #Delta#phi-#Delta#eta from Mixed Events %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
69088c96 819 fHistDeltaPhiEtaMixPt[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
3b7aa4ba 820 fHistDeltaPhiEtaMixPt[i][imult][imc]->Sumw2();
821 fHistDeltaPhiEtaMixPt[i][imult][imc]->GetXaxis()->SetTitle("#phi");
822 fHistDeltaPhiEtaMixPt[i][imult][imc]->GetYaxis()->SetTitle("#eta");
823 fHistDeltaPhiEtaMixPt[i][imult][imc]->GetZaxis()->SetTitle("p_{T}");
824 fOutput->Add(fHistDeltaPhiEtaMixPt[i][imult][imc]);
825
d514944f 826 snprintf(histname,BufferSize,"fHistDeltaPhiEtaMixV2Pt_P%d_C%d%s",i,imult,cmc1[imc]);
827 snprintf(histtitle,BufferSize,"P_{T}-Weighted #Delta#phi-#Delta#eta V2 from Mixed Events %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
828 fHistDeltaPhiEtaMixV2Pt[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
829 fHistDeltaPhiEtaMixV2Pt[i][imult][imc]->Sumw2();
830 fHistDeltaPhiEtaMixV2Pt[i][imult][imc]->GetXaxis()->SetTitle("#phi");
831 fHistDeltaPhiEtaMixV2Pt[i][imult][imc]->GetYaxis()->SetTitle("#eta");
832 fHistDeltaPhiEtaMixV2Pt[i][imult][imc]->GetZaxis()->SetTitle("p_{T}");
833 fOutput->Add(fHistDeltaPhiEtaMixV2Pt[i][imult][imc]);
834
835 snprintf(histname,BufferSize,"fHistDeltaPhiEtaMixV3Pt_P%d_C%d%s",i,imult,cmc1[imc]);
836 snprintf(histtitle,BufferSize,"P_{T}-Weighted #Delta#phi-#Delta#eta V3 from Mixed Events %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
837 fHistDeltaPhiEtaMixV3Pt[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
838 fHistDeltaPhiEtaMixV3Pt[i][imult][imc]->Sumw2();
839 fHistDeltaPhiEtaMixV3Pt[i][imult][imc]->GetXaxis()->SetTitle("#phi");
840 fHistDeltaPhiEtaMixV3Pt[i][imult][imc]->GetYaxis()->SetTitle("#eta");
841 fHistDeltaPhiEtaMixV3Pt[i][imult][imc]->GetZaxis()->SetTitle("p_{T}");
842 fOutput->Add(fHistDeltaPhiEtaMixV3Pt[i][imult][imc]);
843
844 snprintf(histname,BufferSize,"fHistDeltaPhiEtaMixV4Pt_P%d_C%d%s",i,imult,cmc1[imc]);
845 snprintf(histtitle,BufferSize,"P_{T}-Weighted #Delta#phi-#Delta#eta V4 from Mixed Events %3.1f<p_{T}^{Trig}<%3.1f %dMult%d%s",fPtTrigArray[i],fPtTrigArray[i+1],fCentArrayMin[imult],fCentArrayMax[imult],cmc2[imc]);
846 fHistDeltaPhiEtaMixV4Pt[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
847 fHistDeltaPhiEtaMixV4Pt[i][imult][imc]->Sumw2();
848 fHistDeltaPhiEtaMixV4Pt[i][imult][imc]->GetXaxis()->SetTitle("#phi");
849 fHistDeltaPhiEtaMixV4Pt[i][imult][imc]->GetYaxis()->SetTitle("#eta");
850 fHistDeltaPhiEtaMixV4Pt[i][imult][imc]->GetZaxis()->SetTitle("p_{T}");
851 fOutput->Add(fHistDeltaPhiEtaMixV4Pt[i][imult][imc]);
852
3b7aa4ba 853 //Three-Particle Histograms
854 for(int ipt=0;ipt<fNAPt3Bins;ipt++){
855 for(int iSign=0;iSign<4;iSign++){
d514944f 856 snprintf(histname,BufferSize,"fHistDeltaPhiPhi_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
857 snprintf(histtitle,BufferSize,"Raw #Delta#phi-#Delta#phi %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
3b7aa4ba 858 fHistDeltaPhiPhi[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinPhi3,fdPhiMin,fdPhiMax,fnBinPhi3,fdPhiMin,fdPhiMax);
859 fHistDeltaPhiPhi[i][ipt][imult][iSign][imc]->Sumw2();
860 fHistDeltaPhiPhi[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#phi_{1}");
861 fHistDeltaPhiPhi[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#phi_{2}");
862 fOutput->Add(fHistDeltaPhiPhi[i][ipt][imult][iSign][imc]);
863
d514944f 864 snprintf(histname,BufferSize,"fHistDeltaPhiPhiMix_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
865 snprintf(histtitle,BufferSize,"Mixed #Delta#phi-#Delta#phi %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
3b7aa4ba 866 fHistDeltaPhiPhiMix[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinPhi3,fdPhiMin,fdPhiMax,fnBinPhi3,fdPhiMin,fdPhiMax);
867 fHistDeltaPhiPhiMix[i][ipt][imult][iSign][imc]->Sumw2();
868 fHistDeltaPhiPhiMix[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#phi_{1}");
869 fHistDeltaPhiPhiMix[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#phi_{2}");
870 fOutput->Add(fHistDeltaPhiPhiMix[i][ipt][imult][iSign][imc]);
871
d514944f 872 snprintf(histname,BufferSize,"fHistDeltaPhiPhiMixV2_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
873 snprintf(histtitle,BufferSize,"Mixed #Delta#phi-#Delta#phi V2 %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
874 fHistDeltaPhiPhiMixV2[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinPhi3,fdPhiMin,fdPhiMax,fnBinPhi3,fdPhiMin,fdPhiMax);
875 fHistDeltaPhiPhiMixV2[i][ipt][imult][iSign][imc]->Sumw2();
876 fHistDeltaPhiPhiMixV2[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#phi_{1}");
877 fHistDeltaPhiPhiMixV2[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#phi_{2}");
878 fOutput->Add(fHistDeltaPhiPhiMixV2[i][ipt][imult][iSign][imc]);
879
880 snprintf(histname,BufferSize,"fHistDeltaPhiPhiMixV3_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
881 snprintf(histtitle,BufferSize,"Mixed #Delta#phi-#Delta#phi V3 %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
882 fHistDeltaPhiPhiMixV3[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinPhi3,fdPhiMin,fdPhiMax,fnBinPhi3,fdPhiMin,fdPhiMax);
883 fHistDeltaPhiPhiMixV3[i][ipt][imult][iSign][imc]->Sumw2();
884 fHistDeltaPhiPhiMixV3[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#phi_{1}");
885 fHistDeltaPhiPhiMixV3[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#phi_{2}");
886 fOutput->Add(fHistDeltaPhiPhiMixV3[i][ipt][imult][iSign][imc]);
887
888 snprintf(histname,BufferSize,"fHistDeltaPhiPhiMixV4_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
889 snprintf(histtitle,BufferSize,"Mixed #Delta#phi-#Delta#phi V4 %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
890 fHistDeltaPhiPhiMixV4[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinPhi3,fdPhiMin,fdPhiMax,fnBinPhi3,fdPhiMin,fdPhiMax);
891 fHistDeltaPhiPhiMixV4[i][ipt][imult][iSign][imc]->Sumw2();
892 fHistDeltaPhiPhiMixV4[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#phi_{1}");
893 fHistDeltaPhiPhiMixV4[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#phi_{2}");
894 fOutput->Add(fHistDeltaPhiPhiMixV4[i][ipt][imult][iSign][imc]);
895
896 snprintf(histname,BufferSize,"fHistDeltaPhiPhiMixV2V2V4_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
897 snprintf(histtitle,BufferSize,"Mixed #Delta#phi-#Delta#phi %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
898 fHistDeltaPhiPhiMixV2V2V4[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinPhi3,fdPhiMin,fdPhiMax,fnBinPhi3,fdPhiMin,fdPhiMax);
899 fHistDeltaPhiPhiMixV2V2V4[i][ipt][imult][iSign][imc]->Sumw2();
900 fHistDeltaPhiPhiMixV2V2V4[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#phi_{1}");
901 fHistDeltaPhiPhiMixV2V2V4[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#phi_{2}");
902 fOutput->Add(fHistDeltaPhiPhiMixV2V2V4[i][ipt][imult][iSign][imc]);
903
904 snprintf(histname,BufferSize,"fHistDeltaPhiPhiSS_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
905 snprintf(histtitle,BufferSize,"Soft-Soft #Delta#phi-#Delta#phi %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
3b7aa4ba 906 fHistDeltaPhiPhiSS[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinPhi3,fdPhiMin,fdPhiMax,fnBinPhi3,fdPhiMin,fdPhiMax);
907 fHistDeltaPhiPhiSS[i][ipt][imult][iSign][imc]->Sumw2();
908 fHistDeltaPhiPhiSS[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#phi_{1}");
909 fHistDeltaPhiPhiSS[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#phi_{2}");
910 fOutput->Add(fHistDeltaPhiPhiSS[i][ipt][imult][iSign][imc]);
911
d514944f 912 snprintf(histname,BufferSize,"fHistDeltaPhiPhiSSV2_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
913 snprintf(histtitle,BufferSize,"Soft-Soft V2 #Delta#phi-#Delta#phi %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
914 fHistDeltaPhiPhiSSV2[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinPhi3,fdPhiMin,fdPhiMax,fnBinPhi3,fdPhiMin,fdPhiMax);
915 fHistDeltaPhiPhiSSV2[i][ipt][imult][iSign][imc]->Sumw2();
916 fHistDeltaPhiPhiSSV2[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#phi_{1}");
917 fHistDeltaPhiPhiSSV2[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#phi_{2}");
918 fOutput->Add(fHistDeltaPhiPhiSSV2[i][ipt][imult][iSign][imc]);
919
920 snprintf(histname,BufferSize,"fHistDeltaPhiPhiSSV3_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
921 snprintf(histtitle,BufferSize,"Soft-Soft V3 #Delta#phi-#Delta#phi %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
922 fHistDeltaPhiPhiSSV3[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinPhi3,fdPhiMin,fdPhiMax,fnBinPhi3,fdPhiMin,fdPhiMax);
923 fHistDeltaPhiPhiSSV3[i][ipt][imult][iSign][imc]->Sumw2();
924 fHistDeltaPhiPhiSSV3[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#phi_{1}");
925 fHistDeltaPhiPhiSSV3[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#phi_{2}");
926 fOutput->Add(fHistDeltaPhiPhiSSV3[i][ipt][imult][iSign][imc]);
927
928 snprintf(histname,BufferSize,"fHistDeltaPhiPhiSSV4_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
929 snprintf(histtitle,BufferSize,"Soft-Soft V4 #Delta#phi-#Delta#phi %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
930 fHistDeltaPhiPhiSSV4[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinPhi3,fdPhiMin,fdPhiMax,fnBinPhi3,fdPhiMin,fdPhiMax);
931 fHistDeltaPhiPhiSSV4[i][ipt][imult][iSign][imc]->Sumw2();
932 fHistDeltaPhiPhiSSV4[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#phi_{1}");
933 fHistDeltaPhiPhiSSV4[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#phi_{2}");
934 fOutput->Add(fHistDeltaPhiPhiSSV4[i][ipt][imult][iSign][imc]);
935
936 snprintf(histname,BufferSize,"fHistDeltaEtaEta_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
937 snprintf(histtitle,BufferSize,"Raw #Delta#eta-#Delta#eta %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
69088c96 938 fHistDeltaEtaEta[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinEta3,-etaEdge,etaEdge,fnBinEta3,-etaEdge,etaEdge);
3b7aa4ba 939 fHistDeltaEtaEta[i][ipt][imult][iSign][imc]->Sumw2();
940 fHistDeltaEtaEta[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#eta_{1}");
941 fHistDeltaEtaEta[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#eta_{2}");
942 fOutput->Add(fHistDeltaEtaEta[i][ipt][imult][iSign][imc]);
943
d514944f 944snprintf(histname,BufferSize,"fHistDeltaEtaEtaMix_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
945 snprintf(histtitle,BufferSize,"Mixed #Delta#eta-#Delta#eta %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
69088c96 946 fHistDeltaEtaEtaMix[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinEta3,-etaEdge,etaEdge,fnBinEta3,-etaEdge,etaEdge);
3b7aa4ba 947 fHistDeltaEtaEtaMix[i][ipt][imult][iSign][imc]->Sumw2();
948 fHistDeltaEtaEtaMix[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#eta_{1}");
949 fHistDeltaEtaEtaMix[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#eta_{2}");
950 fOutput->Add(fHistDeltaEtaEtaMix[i][ipt][imult][iSign][imc]);
951
d514944f 952 snprintf(histname,BufferSize,"fHistDeltaEtaEtaMixV2_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
953 snprintf(histtitle,BufferSize,"Mixed #Delta#eta-#Delta#eta V2 %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
954 fHistDeltaEtaEtaMixV2[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinEta3,-etaEdge,etaEdge,fnBinEta3,-etaEdge,etaEdge);
955 fHistDeltaEtaEtaMixV2[i][ipt][imult][iSign][imc]->Sumw2();
956 fHistDeltaEtaEtaMixV2[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#eta_{1}");
957 fHistDeltaEtaEtaMixV2[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#eta_{2}");
958 fOutput->Add(fHistDeltaEtaEtaMixV2[i][ipt][imult][iSign][imc]);
959
960 snprintf(histname,BufferSize,"fHistDeltaEtaEtaMixV3_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
961 snprintf(histtitle,BufferSize,"Mixed #Delta#eta-#Delta#eta V3 %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
962 fHistDeltaEtaEtaMixV3[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinEta3,-etaEdge,etaEdge,fnBinEta3,-etaEdge,etaEdge);
963 fHistDeltaEtaEtaMixV3[i][ipt][imult][iSign][imc]->Sumw2();
964 fHistDeltaEtaEtaMixV3[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#eta_{1}");
965 fHistDeltaEtaEtaMixV3[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#eta_{2}");
966 fOutput->Add(fHistDeltaEtaEtaMixV3[i][ipt][imult][iSign][imc]);
967
968
969 snprintf(histname,BufferSize,"fHistDeltaEtaEtaMixV4_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
970 snprintf(histtitle,BufferSize,"Mixed #Delta#eta-#Delta#eta V4 %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
971 fHistDeltaEtaEtaMixV4[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinEta3,-etaEdge,etaEdge,fnBinEta3,-etaEdge,etaEdge);
972 fHistDeltaEtaEtaMixV4[i][ipt][imult][iSign][imc]->Sumw2();
973 fHistDeltaEtaEtaMixV4[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#eta_{1}");
974 fHistDeltaEtaEtaMixV4[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#eta_{2}");
975 fOutput->Add(fHistDeltaEtaEtaMixV4[i][ipt][imult][iSign][imc]);
976
977 snprintf(histname,BufferSize,"fHistDeltaEtaEtaMixV2V2V4_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
978 snprintf(histtitle,BufferSize,"Mixed #Delta#eta-#Delta#eta V2V2V4 %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
979 fHistDeltaEtaEtaMixV2V2V4[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinEta3,-etaEdge,etaEdge,fnBinEta3,-etaEdge,etaEdge);
980 fHistDeltaEtaEtaMixV2V2V4[i][ipt][imult][iSign][imc]->Sumw2();
981 fHistDeltaEtaEtaMixV2V2V4[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#eta_{1}");
982 fHistDeltaEtaEtaMixV2V2V4[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#eta_{2}");
983 fOutput->Add(fHistDeltaEtaEtaMixV2V2V4[i][ipt][imult][iSign][imc]);
984
985snprintf(histname,BufferSize,"fHistDeltaEtaEtaSS_P%dp%d_C%d%s%s",i,ipt,imult,cmc1[imc],sign31[iSign]);
986 snprintf(histtitle,BufferSize,"Soft-Soft #Delta#eta-#Delta#eta %3.1f<p_{T}^{Trig}<%3.1f %3.2f<p_{T}^{Assoc}<%3.2f %dMult%d%s%s",fPtTrigArray[i],fPtTrigArray[i+1],fPtAssoc3Array1[ipt],fPtAssoc3Array2[ipt],fCentArrayMin[imult],fCentArrayMax[imult],sign32[iSign],cmc2[imc]);
69088c96 987 fHistDeltaEtaEtaSS[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinEta3,-etaEdge,etaEdge,fnBinEta3,-etaEdge,etaEdge);
3b7aa4ba 988 fHistDeltaEtaEtaSS[i][ipt][imult][iSign][imc]->Sumw2();
989 fHistDeltaEtaEtaSS[i][ipt][imult][iSign][imc]->GetXaxis()->SetTitle("#Delta#eta_{1}");
990 fHistDeltaEtaEtaSS[i][ipt][imult][iSign][imc]->GetYaxis()->SetTitle("#Delta#eta_{2}");
991 fOutput->Add(fHistDeltaEtaEtaSS[i][ipt][imult][iSign][imc]);
992
993 }//iSign
994 }//associated pt (ipt)
995 }//pt loop (i)
996 }//centrality loop (imult)
997 }//imc
69088c96 998 if(fDEBUG)Printf("OutPut Created");
3b7aa4ba 999}//CreateOutputObjects
d514944f 1000/////////////////////////////////
69088c96 1001Int_t AliAnalysisTaskDiHadron::CheckVertex(const AliESDEvent *rESD){
1002 //checks whether the vertex passes cuts
3b7aa4ba 1003 Int_t rGood=-1;
69088c96 1004 Float_t vtx[3];
1005 vtx[0]=rESD->GetPrimaryVertex()->GetX();
1006 vtx[1]=rESD->GetPrimaryVertex()->GetY();
1007 vtx[2]=rESD->GetPrimaryVertex()->GetZ();
d514944f 1008 if((vtx[0]*vtx[0]+vtx[1]*vtx[1])<9&&fabs(vtx[2])<fVzCut) rGood=0; //vertex out of beam pipe
1009 //if(fabs(vtx[2])<fVzCut)rGood=0;//Vertex Z cut
69088c96 1010 if(fDEBUG)Printf("vtxZ %f",vtx[2]);
3b7aa4ba 1011 for(int i=0;i<fNVertexBins;i++){
69088c96 1012 if(vtx[2]>fVertexArray[i]&&vtx[2]<=fVertexArray[i+1]&&rGood==0)rGood=i;
3b7aa4ba 1013 }
1014 return rGood;
1015}
d514944f 1016///////////////////////////
1017Int_t AliAnalysisTaskDiHadron::CheckVertexAOD(const AliAODEvent *rAOD){
1018 //checks whether the vertex passes cuts
1019 Int_t rGood=-1;
1020 Float_t vtx[3];
1021 vtx[0]=rAOD->GetPrimaryVertex()->GetX();
1022 vtx[1]=rAOD->GetPrimaryVertex()->GetY();
1023 vtx[2]=rAOD->GetPrimaryVertex()->GetZ();
1024 if((vtx[0]*vtx[0]+vtx[1]*vtx[1])<9&&fabs(vtx[2])<fVzCut) rGood=0; //vertex out of beam pipe
1025 //if(fabs(vtx[2])<fVzCut)rGood=0;//Vertex Z cut
1026 if(fDEBUG)Printf("vtxZ %f",vtx[2]);
1027 for(int i=0;i<fNVertexBins;i++){
1028 if(vtx[2]>fVertexArray[i]&&vtx[2]<=fVertexArray[i+1]&&rGood==0)rGood=i;
1029 }
1030 return rGood;
1031}
1032///////////////////////////////
69088c96 1033Int_t AliAnalysisTaskDiHadron::CheckTrigger(const AliESDEvent *rESD){
1034 //checks whether the trigger passes cuts
d514944f 1035 if(fDEBUG)Printf("Checking Trigger");
3b7aa4ba 1036 Int_t rGood=0;
1037 TString trigID=rESD->GetFiredTriggerClasses();
0f3a7491 1038 int count=0;
69088c96 1039 char trigID2[50];
0f3a7491 1040 int stop=0;//in as a safety
1041
3b7aa4ba 1042 for(int i=0;i<fNIDs;i++){
0f3a7491 1043 if(stop==1)continue;
1044 for(int j=0;j<50;j++){
69088c96 1045 if(fTrigIDArray[count]==',')trigID2[j]='\0';
1046 else if(fTrigIDArray[count]=='\0'){trigID2[j]='\0';stop=1;}
1047 else trigID2[j]=fTrigIDArray[count];
0f3a7491 1048 count++;
69088c96 1049 if(trigID2[j]=='\0') break;
0f3a7491 1050 }
69088c96 1051 if(trigID.Contains(trigID2)) rGood=1;
3b7aa4ba 1052 }
1053 return rGood;
1054}
d514944f 1055///////////////////////////////////////////
1056Int_t AliAnalysisTaskDiHadron::CheckTriggerAOD(const AliAODEvent *rAOD){
1057 //checks whether the trigger passes cuts
1058 if(fDEBUG)Printf("Checking Trigger");
1059 Int_t rGood=0;
1060 TString trigID=rAOD->GetFiredTriggerClasses();
1061 int count=0;
1062 char trigID2[50];
1063 int stop=0;//in as a safety
1064
1065 for(int i=0;i<fNIDs;i++){
1066 if(stop==1)continue;
1067 for(int j=0;j<50;j++){
1068 if(fTrigIDArray[count]==',')trigID2[j]='\0';
1069 else if(fTrigIDArray[count]=='\0'){trigID2[j]='\0';stop=1;}
1070 else trigID2[j]=fTrigIDArray[count];
1071 count++;
1072 if(trigID2[j]=='\0') break;
1073 }
1074 if(trigID.Contains(trigID2)) rGood=1;
1075 }
1076 return rGood;
1077}
1078/////////////////////////////////////////////
3b7aa4ba 1079
d514944f 1080Int_t AliAnalysisTaskDiHadron::TrackCuts(const AliESDEvent *rESD, Float_t *rPt, Float_t *rEta, Float_t *rPhi, Short_t *rCharge, Float_t *rEff, Float_t *rV2, Float_t *rV3, Float_t *rV4, Int_t **rPtAssoc3, Int_t *rNPtAssoc3, Int_t *rGoodTracks){
1081 if(fDEBUG) Printf("Selecting Tracks");
3b7aa4ba 1082 //fills arrays with all of the tracks passing cuts
1083 rGoodTracks[0]=0;
69088c96 1084 Int_t lead=0;
1085 Float_t leadPt=0;
3b7aa4ba 1086 Int_t rTrack=fESD->GetNumberOfTracks();
1087 Float_t sPt, sEta, sPhi, sChi, sb[2], sbCov[3];
1088 Int_t sNcls, sNclsF, sITScls;
1089 Short_t sCharge;
1090 for(int iTrack=0;iTrack<rTrack;iTrack++){
69088c96 1091 AliESDtrack *eSDtrack=rESD->GetTrack(iTrack);
1092 const AliExternalTrackParam *conTrack = eSDtrack->GetConstrainedParam();
1093 if(!conTrack)continue;
1094 sPt=conTrack->Pt();
1095 //if(fDEBUG)Printf("Pt%f",rPt);
1096 sEta=conTrack->Eta();
1097 sPhi=conTrack->Phi();
1098 sCharge=conTrack->Charge();
d514944f 1099 if(fDEBUG) Printf("Pt%2.2f Eta%2.2f Phi%2.2f ", sPt,sEta,sPhi);
3b7aa4ba 1100 if(sPhi<fdPhiMin)sPhi+=2*fPi;
1101 if(sPhi>fdPhiMax)sPhi-=2*fPi;
1102 if(sPt<fMinPtAssoc||sPt>fMaxPtAssoc)continue;//set Pt range
1103 if(fabs(sEta)>fEtaCut)continue;//set Eta Range
1104 if(!sCharge)continue;
69088c96 1105 sNcls=eSDtrack->GetTPCNcls();
1106 //if(fDEBUG)Printf("NCLS%d",sNcls);
3b7aa4ba 1107 if(sNcls<fMinClustersTPC)continue;
d514944f 1108 sNclsF=eSDtrack->GetTPCnclsS();
1109 if((1-1.0*sNclsF/sNcls)<fMinClusterRatio)continue;//Clusters fit/ total
69088c96 1110 sChi=(eSDtrack->GetTPCchi2())/sNcls;
3b7aa4ba 1111 if(sChi>fMaxTPCchi2)continue;
69088c96 1112 sITScls=eSDtrack->GetNcls(0);
3b7aa4ba 1113 if(sITScls<fMinClustersITS)continue;
69088c96 1114 eSDtrack->GetImpactParameters(sb,sbCov);
d514944f 1115 if(fDEBUG)Printf("dca %2.2f %2.2f",sb[0],sb[1]);
3b7aa4ba 1116 if(!fDCA2D&&(sb[0]*sb[0]+sb[1]*sb[1])>(fMaxDCA*fMaxDCA))continue;//DCA cut
1117 if(fDCA2D==1&&(sb[0]*sb[0]/fMaxDCAXY/fMaxDCAXY+sb[1]*sb[1]/fMaxDCAZ/fMaxDCAZ)>1)continue;
1118 if(fDCA2D==2&&(0.35+0.42*std::pow(double(sPt),-0.9))<(sb[0]*sb[0]))continue;
69088c96 1119 if(eSDtrack->GetKinkIndex(0)>0)continue;//removes kinked tracks
13171d17 1120 if((!eSDtrack->GetStatus()&AliESDtrack::kTPCrefit)&&fTPCRefit)continue;//refit in TPC
1121 if((fITSRefit==1||(fITSRefit==2&&sPt>5))&&(!eSDtrack->GetStatus()&AliESDtrack::kITSrefit))continue;//refit of its tracks either for none,all, or >5 GeV/c
d514944f 1122 if(fDEBUG)Printf("SPD %d %d ", eSDtrack->HasPointOnITSLayer(0), eSDtrack->HasPointOnITSLayer(1));
69088c96 1123 if(fSPDCut&&!eSDtrack->HasPointOnITSLayer(0)&&!eSDtrack->HasPointOnITSLayer(1))continue;
d514944f 1124 if(fDEBUG)Printf("Pass \n");
3b7aa4ba 1125 rPt[rGoodTracks[0]]=sPt;
1126 rEta[rGoodTracks[0]]=sEta;
1127 rPhi[rGoodTracks[0]]=sPhi;
1128 rCharge[rGoodTracks[0]]=sCharge;
1129 if(fEfficiencyCorr){
1130 if(sPt<fEffFitPt)rEff[rGoodTracks[0]]=1./fFitLow->Eval(sPt);
1131 else rEff[rGoodTracks[0]]=1./fFitHigh->Eval(sPt);
1132 }
1133 else rEff[rGoodTracks[0]]=1;
d514944f 1134 if(rEff[rGoodTracks[0]]!=rEff[rGoodTracks[0]]||rEff[rGoodTracks[0]]>1E8||rEff[rGoodTracks[0]]<-1E8){
1135 Printf("Efficiency Error %f %f",rEff[rGoodTracks[0]],rPt[rGoodTracks[0]]);
1136 continue;
1137 }
69088c96 1138 if(sPt>leadPt)lead=rGoodTracks[0];
d514944f 1139 if(sPt<fV2FitPt)rV2[rGoodTracks[0]]=fFitLowV2->Eval(sPt);
1140 else rV2[rGoodTracks[0]]=fFitHighV2->Eval(sPt);
1141 if(sPt<fV3FitPt)rV3[rGoodTracks[0]]=fFitLowV3->Eval(sPt);
1142 else rV3[rGoodTracks[0]]=fFitHighV3->Eval(sPt);
1143 if(sPt<fV4FitPt)rV4[rGoodTracks[0]]=fFitLowV4->Eval(sPt);
1144 else rV4[rGoodTracks[0]]=fFitHighV4->Eval(sPt);
1145 if(rV2[rGoodTracks[0]]!=rV2[rGoodTracks[0]]||rV2[rGoodTracks[0]]>1E8||rV2[rGoodTracks[0]]<-1E8){
1146 Printf("V2 Error %f %f",rV2[rGoodTracks[0]],rPt[rGoodTracks[0]]);
1147 continue;
1148 }
1149 if(rV4[rGoodTracks[0]]!=rV4[rGoodTracks[0]]||rV4[rGoodTracks[0]]>1E8||rV4[rGoodTracks[0]]<-1E8){
1150 Printf("V4 Error %f %f",rV4[rGoodTracks[0]],rPt[rGoodTracks[0]]);
1151 continue;
1152 }
1153
1154 //Printf("V2 %2.2f V4 %2.4f 1.15V2V2 %2.4f",rV2[rGoodTracks[0]],rV4[rGoodTracks[0]],1.15*pow(rV2[rGoodTracks[0]],2));
3b7aa4ba 1155 //rPtAssoc3[rGoodTracks[0]]=new Int_t [10];
1156 rNPtAssoc3[rGoodTracks[0]]=0;
1157 for(int apt3=0;apt3<fNAPt3Bins;apt3++){
1158 if(sPt<fPtAssoc3Array2[apt3]&&sPt>=fPtAssoc3Array1[apt3]){
1159 rPtAssoc3[rGoodTracks[0]][rNPtAssoc3[rGoodTracks[0]]]=apt3;
1160 rNPtAssoc3[rGoodTracks[0]]++;
1161 }
1162 }
1163
1164 rGoodTracks[0]++;
1165
1166 }
69088c96 1167 return lead;
3b7aa4ba 1168}
d514944f 1169/////////////////////////////////////////////
1170
1171Int_t AliAnalysisTaskDiHadron::TrackCutsAOD(const AliAODEvent *rAOD, Float_t *rPt, Float_t *rEta, Float_t *rPhi, Short_t *rCharge, Float_t *rEff, Float_t *rV2, Float_t *rV3, Float_t *rV4, Int_t **rPtAssoc3, Int_t *rNPtAssoc3, Int_t *rGoodTracks){
1172 if(fDEBUG) Printf("Selecting Tracks");
1173 //fills arrays with all of the tracks passing cuts
1174 rGoodTracks[0]=0;
1175 Int_t lead=0;
1176 Float_t leadPt=0;
4640c275 1177 Int_t rTrack=fAOD->GetNumberOfTracks();
d514944f 1178 Float_t sPt, sEta, sPhi, sChi, sb[2];
1179 Int_t sNcls, sNclsF, sITScls;
1180 Short_t sCharge;
1181 for(int iTrack=0;iTrack<rTrack;iTrack++){
f15c1f69 1182 AliAODTrack *aodTrack=dynamic_cast<AliAODTrack*>(rAOD->GetTrack(iTrack));
1183 if(!aodTrack) AliFatal("Not a standard AOD");
d514944f 1184 sPt=aodTrack->Pt();
1185 sEta=aodTrack->Eta();
1186 sPhi=aodTrack->Phi();
1187 sCharge=aodTrack->Charge();
1188 if(fDEBUG) Printf("Pt%2.2f Eta%2.2f Phi%2.2f ", sPt,sEta,sPhi);
1189 if(sPhi<fdPhiMin)sPhi+=2*fPi;
1190 if(sPhi>fdPhiMax)sPhi-=2*fPi;
1191 if(sPt<fMinPtAssoc||sPt>fMaxPtAssoc)continue;//set Pt range
1192 if(fabs(sEta)>fEtaCut)continue;//set Eta Range
1193 if(!sCharge)continue;
1194 sNcls=aodTrack->GetTPCNcls();
1195 if(sNcls<fMinClustersTPC)continue;
1196 sNclsF=aodTrack->GetTPCSharedMap().CountBits();
1197 if((1-1.0*sNclsF/sNcls)<fMinClusterRatio)continue;//Clusters shared/ total;
1198 sChi=aodTrack->Chi2perNDF();
1199 if(sChi>fMaxTPCchi2)continue;
1200 sITScls=aodTrack->GetNcls(0);
1201 if(sITScls<fMinClustersITS)continue;
1202 sb[0]=aodTrack->DCA();
1203 sb[1]=aodTrack->ZAtDCA();
1204 if(fDEBUG)Printf("dca %2.2f %2.2f",sb[0],sb[1]);
1205 if(!fDCA2D&&(sb[0]*sb[0]+sb[1]*sb[1])>(fMaxDCA*fMaxDCA))continue;//DCA cut
1206 if(fDCA2D==1&&(sb[0]*sb[0]/fMaxDCAXY/fMaxDCAXY+sb[1]*sb[1]/fMaxDCAZ/fMaxDCAZ)>1)continue;
1207 if(fDCA2D==2&&(0.35+0.42*std::pow(double(sPt),-0.9))<(sb[0])*sb[0])continue;
1208 //if(eSDtrack->GetKinkIndex(0)>0)continue;//removes kinked tracks
a2800fd4 1209 //if(!aodTrack->IsPrimaryCandidate())continue;//I assume this removes kinks // commented out, method removed in AliAODTrack
d514944f 1210 //if(!aodTrack->GetStatus()&AliAODTrack::kTPCrefit&&fTPCRefit)continue;//refit in TPC
1211 //if((fITSRefit==1||(fITSRefit==2&&sPt>5))&&!aodTrack->GetStatus()&AliAODTrack::kITSrefit)continue;//refit of its tracks either for none,all, or >5 GeV/c
1212 if(fDEBUG)Printf("SPD %d %d ", aodTrack->HasPointOnITSLayer(0), aodTrack->HasPointOnITSLayer(1));
1213 if(fSPDCut&&!aodTrack->HasPointOnITSLayer(0)&&!aodTrack->HasPointOnITSLayer(1))continue;
1214 if(fDEBUG)Printf("Pass \n");
1215 rPt[rGoodTracks[0]]=sPt;
1216 rEta[rGoodTracks[0]]=sEta;
1217 rPhi[rGoodTracks[0]]=sPhi;
1218 rCharge[rGoodTracks[0]]=sCharge;
1219 if(fEfficiencyCorr){
1220 if(sPt<fEffFitPt)rEff[rGoodTracks[0]]=1./fFitLow->Eval(sPt);
1221 else rEff[rGoodTracks[0]]=1./fFitHigh->Eval(sPt);
1222 }
1223 else rEff[rGoodTracks[0]]=1;
1224 if(rEff[rGoodTracks[0]]!=rEff[rGoodTracks[0]]||rEff[rGoodTracks[0]]>1E8||rEff[rGoodTracks[0]]<-1E8){
1225 Printf("Efficiency Error %f %f",rEff[rGoodTracks[0]],rPt[rGoodTracks[0]]);
1226 continue;
1227 }
1228 if(sPt>leadPt)lead=rGoodTracks[0];
1229 if(sPt<fV2FitPt)rV2[rGoodTracks[0]]=fFitLowV2->Eval(sPt);
1230 else rV2[rGoodTracks[0]]=fFitHighV2->Eval(sPt);
1231 if(sPt<fV3FitPt)rV3[rGoodTracks[0]]=fFitLowV3->Eval(sPt);
1232 else rV3[rGoodTracks[0]]=fFitHighV3->Eval(sPt);
1233 if(sPt<fV4FitPt)rV4[rGoodTracks[0]]=fFitLowV4->Eval(sPt);
1234 else rV4[rGoodTracks[0]]=fFitHighV4->Eval(sPt);
1235 if(rV2[rGoodTracks[0]]!=rV2[rGoodTracks[0]]||rV2[rGoodTracks[0]]>1E8||rV2[rGoodTracks[0]]<-1E8){
1236 Printf("V2 Error %f %f",rV2[rGoodTracks[0]],rPt[rGoodTracks[0]]);
1237 continue;
1238 }
1239 if(rV4[rGoodTracks[0]]!=rV4[rGoodTracks[0]]||rV4[rGoodTracks[0]]>1E8||rV4[rGoodTracks[0]]<-1E8){
1240 Printf("V4 Error %f %f",rV4[rGoodTracks[0]],rPt[rGoodTracks[0]]);
1241 continue;
1242 }
1243
1244 rNPtAssoc3[rGoodTracks[0]]=0;
1245 for(int apt3=0;apt3<fNAPt3Bins;apt3++){
1246 if(sPt<fPtAssoc3Array2[apt3]&&sPt>=fPtAssoc3Array1[apt3]){
1247 rPtAssoc3[rGoodTracks[0]][rNPtAssoc3[rGoodTracks[0]]]=apt3;
1248 rNPtAssoc3[rGoodTracks[0]]++;
1249 }
1250 }
1251
1252 rGoodTracks[0]++;
1253
1254 }
1255 return lead;
1256}
1257///////////////////////////////////////////////////////
3b7aa4ba 1258
d514944f 1259Int_t AliAnalysisTaskDiHadron::TrackCutsMC(AliMCEvent *rMC, Float_t *rPt, Float_t *rEta, Float_t *rPhi, Short_t *rCharge, Float_t *rEff, Float_t *rV2, Float_t *rV3, Float_t *rV4, Int_t **rPtAssoc3, Int_t *rNPtAssoc3, Int_t *rGoodTracks){
1260 //Fills Arrays of MC particles
3b7aa4ba 1261 rGoodTracks[1]=0;
1262 AliStack *rStack=rMC->Stack();
1263 Int_t rTrack=rStack->GetNtrack();
1264 Float_t sPt, sEta, sPhi;
1265 Short_t sCharge;
69088c96 1266 Int_t lead=0;
1267 Float_t leadPt=0;
3b7aa4ba 1268 for(int iTrack=0;iTrack<rTrack;iTrack++){
1269 TParticle *rParticle=rStack->Particle(iTrack);
1270 sPt=rParticle->Pt();
69088c96 1271 //if(fDEBUG)Printf("MCPt%f",rPt);
3b7aa4ba 1272 sEta=rParticle->Eta();
1273 sPhi=rParticle->Phi();
1274 sCharge=rMC->GetTrack(iTrack)->Charge();
1275 if(sPhi<fdPhiMin)sPhi+=2*fPi;
1276 if(sPhi>fdPhiMax)sPhi-=2*fPi;
1277 if(sPt<fMinPtAssoc||sPt>fMaxPtAssoc)continue;//set Pt range
1278 if(fabs(sEta)>fEtaCut)continue;//set Eta Range
1279 if(!rStack->IsPhysicalPrimary(iTrack))continue;//primary particles only
1280 if(!sCharge)continue;//only charged particles kept
1281 rPt[rGoodTracks[1]]=sPt;
1282 rEta[rGoodTracks[1]]=sEta;
1283 rPhi[rGoodTracks[1]]=sPhi;
1284 rCharge[rGoodTracks[1]]=sCharge;
1285 rEff[rGoodTracks[1]]=1;
d514944f 1286 rV2[rGoodTracks[1]]=0;
1287 rV3[rGoodTracks[1]]=0;
1288 rV4[rGoodTracks[1]]=0;
69088c96 1289 if(sPt>leadPt)lead=rGoodTracks[1];
3b7aa4ba 1290 rNPtAssoc3[rGoodTracks[1]]=0;
1291 for(int apt3=0;apt3<fNAPt3Bins;apt3++){
1292 if(sPt<fPtAssoc3Array2[apt3]&&sPt>=fPtAssoc3Array1[apt3]){
1293 rPtAssoc3[rGoodTracks[1]][rNPtAssoc3[rGoodTracks[1]]]=apt3;
1294 rNPtAssoc3[rGoodTracks[1]]++;
1295 }
1296 }
1297 rGoodTracks[1]++;
1298 }
69088c96 1299 return lead;
3b7aa4ba 1300}
13171d17 1301//---------------------------------------------------------
1302
1303void AliAnalysisTaskDiHadron::CalcFlow(Float_t *rPt, Float_t *rEta, Float_t *rPhi, Int_t *rGoodTracks, Int_t LeadPart){
1304 float psin2=0, psin3=0, psin4=0, pcos2=0, pcos3=0, pcos4=0;
1305 float cos2=0, cos3=0, cos4=0, sum=0;
1306 float rNAssoc=0, rNTrig=0;
1307 for(int i=0;i<rGoodTracks[0];i++){
1308 if(i==LeadPart)continue;
1309 if(rPt[i]>1&&rPt[i]<2)rNAssoc++;
1310 if(rPt[i]>3&&rPt[i]<4)rNTrig++;
1311 if(fabs(rEta[i]-rEta[LeadPart])<0.5) continue;
1312 if(rPt[i]<2){
1313 psin2+=rPt[i]*sin(2*rPhi[i]);
1314 pcos2+=rPt[i]*cos(2*rPhi[i]);
1315 psin3+=rPt[i]*sin(3*rPhi[i]);
1316 pcos3+=rPt[i]*cos(3*rPhi[i]);
1317 psin4+=rPt[i]*sin(4*rPhi[i]);
1318 pcos4+=rPt[i]*cos(4*rPhi[i]);
1319
1320 }
1321 if(rPt[i]>3&&rPt[i]<4){
1322 for(int j=0;j<rGoodTracks[0];j++){
1323 if(rPt[j]<2&&rPt[j]>1){
1324 cos2+=cos(2*rPhi[i]-2*rPhi[j]);
1325 cos3+=cos(3*rPhi[i]-3*rPhi[j]);
1326 cos4+=cos(4*rPhi[i]-4*rPhi[j]);
1327 sum++;
1328 }//assoc pt
1329 }//assoc loop
1330 }//trigger pt
1331 }//loop
1332
1333 if(sum==0)sum=1E-10;
1334 fSimPsi2=atan(psin2/pcos2)/2;
1335 fSimPsi3=atan(psin3/pcos3)/3;
1336 fSimPsi4=atan(psin4/pcos4)/4;
1337 fFitHighV2->SetParameter(0,sqrt(fabs(cos2)/sum));
1338 fFitHighV3->SetParameter(0,sqrt(fabs(cos3)/sum));
1339 fFitHighV4->SetParameter(0,sqrt(fabs(cos4)/sum));
1340 fSimNBgPart=rNAssoc;
1341 fSimNJet=rNTrig;
1342
1343}
1344
1345
d514944f 1346//---------------------------------------------------------
1347Int_t AliAnalysisTaskDiHadron::TrackCutsSim(Float_t *rPt, Float_t *rEta, Float_t *rPhi, Short_t *rCharge, Float_t *rEff, Float_t *rV2, Float_t *rV3, Float_t *rV4, Int_t **rPtAssoc3, Int_t *rNPtAssoc3, Int_t *rGoodTracks){
1348
13171d17 1349 Float_t FlowValues[500][8]={{0.0035, 0.0136, 0.0105, 0.0010, 1.1650, 1.0527, 0.1205, 0.8645},
1350 {0.0030, 0.0176, 0.0105, 0.0014, 0.3562, 0.6850, 0.0579, 0.8537},
1351 {0.0047, 0.0153, 0.0062, 0.0047, 1.6184, 0.3231, 1.0531, 0.1074},
1352 {0.0095, 0.0201, 0.0096, 0.0036, 1.1438, 0.7005, 1.4932, 0.6805},
1353 {0.0147, 0.0187, 0.0090, 0.0041, 0.3040, 0.7596, 1.2148, 0.3205},
1354 {0.0085, 0.0145, 0.0058, 0.0006, 2.8200, 0.6537, 1.4212, 0.4427},
1355 {0.0027, 0.0098, 0.0067, 0.0010, 0.7530, 1.7227, 0.8277, 0.2671},
1356 {0.0211, 0.0141, 0.0040, 0.0032, 2.8158, 1.2640, 1.5320, 0.8592},
1357 {0.0214, 0.0034, 0.0082, 0.0028, 0.9113, 1.3545, 0.8183, 0.4192},
1358 {0.0101, 0.0178, 0.0093, 0.0023, 0.1782, 0.4587, 1.3575, 0.4537},
1359 {0.0077, 0.0030, 0.0107, 0.0018, 3.0208, 1.2572, 1.3529, 1.0689},
1360 {0.0156, 0.0217, 0.0069, 0.0011, 2.7169, 0.9773, 0.2563, 0.5131},
1361 {0.0139, 0.0060, 0.0009, 0.0009, 1.3356, 1.0727, 0.8756, 0.0257},
1362 {0.0187, 0.0250, 0.0067, 0.0040, 1.2627, 1.9085, 0.7025, 1.0722},
1363 {0.0052, 0.0196, 0.0104, 0.0050, 0.3652, 0.8782, 0.8404, 1.0192},
1364 {0.0079, 0.0095, 0.0061, 0.0037, 0.3816, 0.6331, 0.1517, 0.4630},
1365 {0.0060, 0.0169, 0.0042, 0.0012, 3.0543, 0.7154, 0.1500, 0.8865},
1366 {0.0022, 0.0220, 0.0080, 0.0031, 1.5914, 0.4051, 0.5805, 0.5541},
1367 {0.0010, 0.0055, 0.0184, 0.0044, 1.3026, 1.9182, 1.5478, 0.2334},
1368 {0.0128, 0.0089, 0.0105, 0.0007, 1.6267, 0.0414, 1.3179, 0.8428},
1369 {0.0078, 0.0258, 0.0082, 0.0025, 1.3202, 1.4525, 0.8713, 0.1477},
1370 {0.0105, 0.0163, 0.0098, 0.0042, 0.0085, 0.0798, 0.3661, 0.6749},
1371 {0.0098, 0.0186, 0.0117, 0.0018, 0.6094, 0.7213, 1.2876, 0.4772},
1372 {0.0074, 0.0071, 0.0036, 0.0046, 0.7562, 0.5789, 0.2272, 1.0092},
1373 {0.0111, 0.0040, 0.0094, 0.0026, 1.3796, 0.5633, 1.3583, 0.5369},
1374 {0.0151, 0.0224, 0.0057, 0.0031, 0.1665, 0.9981, 0.1623, 1.1031},
1375 {0.0110, 0.0314, 0.0071, 0.0009, 1.0761, 1.2344, 0.3076, 0.0696},
1376 {0.0123, 0.0118, 0.0037, 0.0046, 1.7767, 1.3157, 1.5148, 1.1963},
1377 {0.0081, 0.0068, 0.0087, 0.0023, 0.6168, 0.3762, 0.0063, 0.3572},
1378 {0.0099, 0.0113, 0.0087, 0.0050, 0.5912, 2.0366, 1.3408, 1.2208},
1379 {0.0135, 0.0052, 0.0091, 0.0031, 0.8365, 0.9733, 1.2951, 0.9458},
1380 {0.0052, 0.0256, 0.0041, 0.0028, 1.6871, 0.7141, 0.2864, 0.4447},
1381 {0.0026, 0.0109, 0.0046, 0.0040, 1.8569, 0.8634, 0.3792, 0.3380},
1382 {0.0048, 0.0032, 0.0100, 0.0008, 0.2143, 1.1711, 0.4115, 1.0100},
1383 {0.0190, 0.0082, 0.0011, 0.0017, 2.3545, 0.5168, 0.5337, 0.0927},
1384 {0.0066, 0.0051, 0.0105, 0.0023, 1.4765, 1.0413, 0.6329, 0.5209},
1385 {0.0071, 0.0041, 0.0138, 0.0011, 2.6051, 1.2165, 0.3467, 0.8268},
1386 {0.0112, 0.0213, 0.0082, 0.0030, 2.4043, 0.1020, 0.2713, 1.2024},
1387 {0.0088, 0.0135, 0.0061, 0.0043, 2.8336, 0.9174, 0.4703, 0.8523},
1388 {0.0120, 0.0212, 0.0066, 0.0052, 1.8337, 0.7224, 0.0820, 0.9440},
1389 {0.0032, 0.0065, 0.0035, 0.0012, 1.2218, 1.4102, 0.8424, 0.1840},
1390 {0.0049, 0.0066, 0.0050, 0.0046, 0.5469, 1.0646, 1.3841, 0.6618},
1391 {0.0122, 0.0079, 0.0027, 0.0017, 2.0599, 1.2457, 0.1777, 0.3349},
1392 {0.0117, 0.0206, 0.0035, 0.0019, 1.1937, 1.6757, 1.5304, 0.2341},
1393 {0.0073, 0.0180, 0.0071, 0.0017, 0.9287, 1.7990, 1.3380, 0.2897},
1394 {0.0138, 0.0134, 0.0076, 0.0020, 1.4069, 0.7750, 0.7245, 0.1373},
1395 {0.0032, 0.0214, 0.0068, 0.0036, 2.7958, 0.1488, 0.0752, 0.3032},
1396 {0.0097, 0.0206, 0.0044, 0.0035, 2.9542, 0.6978, 0.3074, 0.8538},
1397 {0.0014, 0.0176, 0.0128, 0.0045, 0.4687, 1.8134, 0.3071, 0.0202},
1398 {0.0194, 0.0068, 0.0086, 0.0031, 0.0459, 1.0151, 0.8554, 0.9847},
1399 {0.0136, 0.0121, 0.0086, 0.0007, 1.2042, 0.1901, 1.0211, 0.9832},
1400 {0.0092, 0.0110, 0.0041, 0.0051, 2.3322, 1.6906, 0.6865, 0.8827},
1401 {0.0099, 0.0176, 0.0113, 0.0016, 1.9565, 1.2077, 1.4654, 0.4928},
1402 {0.0077, 0.0132, 0.0081, 0.0038, 2.2578, 1.3617, 0.8156, 1.0693},
1403 {0.0053, 0.0342, 0.0238, 0.0037, 2.7501, 1.6721, 0.7829, 0.2254},
1404 {0.0099, 0.0152, 0.0068, 0.0026, 1.2651, 1.4901, 1.3494, 1.2040},
1405 {0.0047, 0.0084, 0.0092, 0.0024, 2.3898, 2.0839, 1.0090, 0.6047},
1406 {0.0224, 0.0082, 0.0065, 0.0015, 1.7053, 0.5598, 0.6944, 1.2247},
1407 {0.0245, 0.0209, 0.0024, 0.0013, 1.3785, 0.6178, 1.3101, 0.7325},
1408 {0.0097, 0.0053, 0.0060, 0.0025, 1.8877, 1.5127, 0.6411, 0.0542},
1409 {0.0107, 0.0120, 0.0108, 0.0021, 0.4713, 1.0744, 1.0183, 0.1119},
1410 {0.0148, 0.0040, 0.0092, 0.0014, 1.8979, 1.8480, 1.0089, 1.1614},
1411 {0.0132, 0.0082, 0.0091, 0.0023, 2.6065, 1.5960, 1.3907, 0.8666},
1412 {0.0070, 0.0155, 0.0102, 0.0025, 0.5482, 1.9525, 0.5050, 0.8651},
1413 {0.0147, 0.0086, 0.0093, 0.0015, 2.8907, 0.4051, 0.3219, 0.1822},
1414 {0.0108, 0.0207, 0.0028, 0.0037, 1.0302, 1.5407, 0.5012, 0.7318},
1415 {0.0126, 0.0047, 0.0079, 0.0028, 2.8788, 1.2861, 0.8888, 0.5333},
1416 {0.0055, 0.0158, 0.0085, 0.0026, 2.2349, 1.9289, 1.0859, 0.0347},
1417 {0.0109, 0.0086, 0.0062, 0.0038, 0.6779, 0.7527, 0.2708, 0.2838},
1418 {0.0114, 0.0083, 0.0107, 0.0007, 1.5915, 1.1871, 1.5686, 0.5562},
1419 {0.0040, 0.0102, 0.0074, 0.0024, 1.7429, 0.0685, 0.8020, 0.2097},
1420 {0.0101, 0.0100, 0.0035, 0.0033, 1.2561, 0.5735, 0.9764, 0.4423},
1421 {0.0145, 0.0160, 0.0092, 0.0057, 0.0503, 0.5607, 0.8943, 0.4559},
1422 {0.0139, 0.0126, 0.0187, 0.0027, 0.7941, 0.7881, 1.3813, 0.1958},
1423 {0.0211, 0.0038, 0.0025, 0.0028, 2.2224, 1.9979, 0.9060, 0.0495},
1424 {0.0140, 0.0169, 0.0036, 0.0003, 0.5556, 1.6196, 0.0197, 0.2456},
1425 {0.0133, 0.0334, 0.0097, 0.0004, 0.4103, 1.9339, 0.3124, 0.8308},
1426 {0.0043, 0.0021, 0.0061, 0.0013, 2.5553, 1.8116, 0.7002, 0.2462},
1427 {0.0071, 0.0183, 0.0083, 0.0016, 1.6071, 0.3276, 0.4626, 0.6513},
1428 {0.0087, 0.0188, 0.0111, 0.0051, 2.4206, 0.1839, 1.4459, 0.1188},
1429 {0.0118, 0.0019, 0.0077, 0.0039, 2.3648, 0.3677, 0.2608, 0.2471},
1430 {0.0055, 0.0119, 0.0057, 0.0028, 2.7920, 2.0417, 1.2721, 1.1066},
1431 {0.0021, 0.0112, 0.0055, 0.0045, 1.3043, 0.2018, 0.8319, 0.6204},
1432 {0.0035, 0.0261, 0.0105, 0.0019, 1.2034, 2.0184, 0.0761, 0.0667},
1433 {0.0077, 0.0135, 0.0101, 0.0039, 2.0438, 0.3174, 1.0312, 0.1953},
1434 {0.0272, 0.0054, 0.0047, 0.0029, 2.8039, 1.4388, 1.4157, 0.7614},
1435 {0.0049, 0.0085, 0.0018, 0.0028, 1.5170, 1.9910, 0.1080, 0.7917},
1436 {0.0061, 0.0117, 0.0062, 0.0033, 0.2065, 0.6670, 1.2914, 1.1443},
1437 {0.0196, 0.0069, 0.0041, 0.0008, 2.6236, 1.2682, 0.1914, 1.1040},
1438 {0.0131, 0.0189, 0.0070, 0.0011, 0.1012, 0.0506, 0.3475, 0.3875},
1439 {0.0080, 0.0058, 0.0086, 0.0025, 0.9333, 0.4077, 1.4301, 0.3130},
1440 {0.0161, 0.0028, 0.0082, 0.0039, 1.3052, 0.2207, 0.6978, 0.7626},
1441 {0.0151, 0.0092, 0.0095, 0.0019, 1.4551, 0.5386, 0.9054, 0.4826},
1442 {0.0155, 0.0170, 0.0086, 0.0007, 0.9909, 1.9847, 0.2312, 1.1555},
1443 {0.0060, 0.0073, 0.0063, 0.0030, 1.9213, 0.2065, 1.1014, 0.8468},
1444 {0.0107, 0.0114, 0.0101, 0.0007, 0.1207, 0.2177, 1.4986, 0.7271},
1445 {0.0252, 0.0091, 0.0045, 0.0027, 2.8788, 0.3174, 0.9813, 0.9926},
1446 {0.0013, 0.0132, 0.0092, 0.0035, 0.4808, 0.4746, 0.6482, 0.0875},
1447 {0.0046, 0.0115, 0.0075, 0.0031, 0.5798, 1.5405, 0.6005, 1.0992},
1448 {0.0119, 0.0071, 0.0136, 0.0020, 2.3262, 2.0037, 0.1128, 0.2491},
1449 {0.0094, 0.0087, 0.0083, 0.0017, 0.0152, 0.3550, 0.6614, 0.4152},
1450 {0.0140, 0.0128, 0.0068, 0.0030, 2.9511, 1.9677, 1.5402, 0.4670},
1451 {0.0086, 0.0119, 0.0073, 0.0017, 1.6429, 0.9199, 0.7814, 0.0791},
1452 {0.0072, 0.0222, 0.0125, 0.0010, 1.9273, 1.6578, 1.4650, 0.6725},
1453 {0.0226, 0.0080, 0.0130, 0.0058, 1.0463, 1.0896, 1.5551, 1.0986},
1454 {0.0085, 0.0050, 0.0062, 0.0036, 0.6272, 1.1132, 1.2206, 0.9006},
1455 {0.0140, 0.0056, 0.0165, 0.0017, 3.0113, 0.6747, 0.7976, 0.9445},
1456 {0.0124, 0.0049, 0.0126, 0.0008, 1.7943, 0.4494, 0.8758, 0.1415},
1457 {0.0239, 0.0105, 0.0035, 0.0014, 2.3162, 0.3501, 0.3520, 0.9412},
1458 {0.0082, 0.0165, 0.0023, 0.0029, 0.1396, 1.9216, 1.3603, 0.7348},
1459 {0.0201, 0.0114, 0.0001, 0.0018, 0.3037, 0.0699, 1.4453, 1.2160},
1460 {0.0076, 0.0096, 0.0097, 0.0024, 0.0014, 0.4569, 1.1910, 1.1057},
1461 {0.0118, 0.0109, 0.0046, 0.0020, 0.9412, 0.7662, 0.0690, 1.2182},
1462 {0.0070, 0.0141, 0.0025, 0.0021, 1.1799, 0.2160, 0.0447, 0.8131},
1463 {0.0075, 0.0136, 0.0065, 0.0002, 3.1297, 0.8345, 0.7822, 0.4496},
1464 {0.0083, 0.0136, 0.0135, 0.0018, 1.3088, 1.7144, 0.8048, 0.7971},
1465 {0.0063, 0.0029, 0.0106, 0.0020, 0.1659, 0.1256, 0.1526, 1.1587},
1466 {0.0057, 0.0153, 0.0117, 0.0022, 2.7526, 1.2744, 1.5398, 0.0102},
1467 {0.0125, 0.0117, 0.0084, 0.0006, 3.1014, 1.2814, 0.5067, 0.0922},
1468 {0.0023, 0.0087, 0.0032, 0.0058, 0.1023, 1.2995, 0.7316, 0.6699},
1469 {0.0072, 0.0085, 0.0055, 0.0013, 0.9979, 1.8470, 1.1499, 0.7783},
1470 {0.0162, 0.0124, 0.0104, 0.0030, 1.0651, 1.7943, 1.1829, 0.6595},
1471 {0.0016, 0.0219, 0.0049, 0.0018, 3.0881, 1.3501, 1.3021, 0.2507},
1472 {0.0126, 0.0229, 0.0070, 0.0028, 2.8194, 1.4202, 0.2444, 0.6877},
1473 {0.0026, 0.0146, 0.0107, 0.0002, 1.3380, 1.1348, 0.1109, 0.8790},
1474 {0.0159, 0.0135, 0.0078, 0.0013, 2.3884, 0.2951, 0.7011, 0.7658},
1475 {0.0130, 0.0120, 0.0040, 0.0026, 2.4187, 2.0936, 1.4007, 0.6005},
1476 {0.0128, 0.0069, 0.0101, 0.0044, 0.2427, 1.4806, 0.0431, 1.1931},
1477 {0.0112, 0.0112, 0.0052, 0.0025, 2.4205, 0.3927, 0.6790, 0.8408},
1478 {0.0083, 0.0293, 0.0096, 0.0012, 1.3709, 0.3885, 1.1137, 0.9000},
1479 {0.0104, 0.0055, 0.0104, 0.0027, 2.9709, 1.8674, 0.7436, 0.2211},
1480 {0.0246, 0.0067, 0.0020, 0.0015, 0.3625, 1.2125, 1.2845, 0.2084},
1481 {0.0157, 0.0089, 0.0103, 0.0032, 0.7275, 0.6670, 0.1099, 0.0024},
1482 {0.0042, 0.0072, 0.0100, 0.0042, 0.2025, 0.5046, 0.9835, 0.7001},
1483 {0.0112, 0.0171, 0.0030, 0.0021, 0.4649, 1.0000, 1.0488, 0.9570},
1484 {0.0160, 0.0208, 0.0105, 0.0052, 0.6183, 1.4269, 1.2784, 0.6166},
1485 {0.0128, 0.0144, 0.0041, 0.0007, 0.3341, 1.4410, 1.5192, 0.0196},
1486 {0.0074, 0.0058, 0.0054, 0.0007, 0.6399, 0.5058, 0.4173, 0.4141},
1487 {0.0151, 0.0118, 0.0122, 0.0027, 1.8413, 1.1375, 0.2133, 0.9026},
1488 {0.0095, 0.0139, 0.0091, 0.0018, 0.7901, 1.5670, 0.6291, 0.7537},
1489 {0.0051, 0.0198, 0.0104, 0.0019, 0.4317, 1.0279, 0.6844, 0.9169},
1490 {0.0116, 0.0064, 0.0075, 0.0035, 2.9749, 0.4117, 1.4933, 0.6747},
1491 {0.0194, 0.0220, 0.0017, 0.0061, 1.2260, 0.4513, 1.3605, 0.1055},
1492 {0.0034, 0.0116, 0.0053, 0.0044, 1.0303, 0.4084, 0.8530, 0.1180},
1493 {0.0058, 0.0114, 0.0045, 0.0023, 2.6296, 1.1444, 0.1301, 0.7712},
1494 {0.0084, 0.0024, 0.0155, 0.0059, 0.3500, 0.8980, 1.3498, 0.1263},
1495 {0.0125, 0.0207, 0.0079, 0.0024, 2.4658, 1.5593, 0.8358, 1.1297},
1496 {0.0067, 0.0057, 0.0075, 0.0012, 2.4197, 1.2181, 0.9845, 0.4672},
1497 {0.0050, 0.0187, 0.0092, 0.0026, 1.8256, 1.6191, 1.3539, 0.7405},
1498 {0.0091, 0.0060, 0.0048, 0.0010, 1.8467, 1.5122, 1.3381, 0.2104},
1499 {0.0121, 0.0229, 0.0009, 0.0005, 0.6522, 1.0287, 0.3377, 1.1998},
1500 {0.0063, 0.0114, 0.0037, 0.0023, 2.0782, 2.0215, 0.8559, 1.1946},
1501 {0.0139, 0.0134, 0.0030, 0.0016, 0.5237, 0.3628, 1.4648, 0.7004},
1502 {0.0155, 0.0100, 0.0082, 0.0024, 1.6575, 0.7365, 1.2304, 0.7334},
1503 {0.0117, 0.0169, 0.0040, 0.0019, 0.3560, 0.6076, 0.8880, 0.6829},
1504 {0.0121, 0.0172, 0.0058, 0.0038, 2.9573, 1.5347, 0.2898, 0.5248},
1505 {0.0133, 0.0067, 0.0017, 0.0048, 0.9285, 0.1553, 1.1599, 0.1877},
1506 {0.0103, 0.0122, 0.0028, 0.0028, 0.4975, 0.0563, 0.0072, 0.4217},
1507 {0.0180, 0.0236, 0.0049, 0.0048, 2.8175, 1.1828, 1.3087, 0.2473},
1508 {0.0138, 0.0145, 0.0042, 0.0018, 1.1974, 0.4486, 1.2734, 0.6685},
1509 {0.0134, 0.0026, 0.0018, 0.0039, 2.0075, 2.0158, 0.9690, 0.6126},
1510 {0.0346, 0.0185, 0.0110, 0.0039, 1.1108, 1.8899, 0.4688, 0.8630},
1511 {0.0192, 0.0072, 0.0076, 0.0033, 1.8109, 0.6485, 0.0930, 0.0311},
1512 {0.0127, 0.0026, 0.0090, 0.0013, 2.3166, 1.4705, 1.0740, 0.7471},
1513 {0.0115, 0.0036, 0.0115, 0.0036, 1.1312, 1.2609, 0.5996, 0.9439},
1514 {0.0085, 0.0106, 0.0066, 0.0025, 0.0152, 1.5191, 0.0413, 0.2578},
1515 {0.0102, 0.0067, 0.0030, 0.0024, 2.1989, 1.8232, 0.2486, 1.2449},
1516 {0.0138, 0.0103, 0.0085, 0.0029, 0.5054, 0.9836, 1.0786, 0.7059},
1517 {0.0123, 0.0086, 0.0076, 0.0019, 1.8668, 1.6994, 0.9880, 1.1505},
1518 {0.0018, 0.0209, 0.0062, 0.0020, 2.2329, 0.1766, 0.0475, 0.8768},
1519 {0.0062, 0.0156, 0.0039, 0.0055, 0.1620, 0.7111, 0.0465, 0.8902},
1520 {0.0129, 0.0118, 0.0124, 0.0004, 1.0527, 2.0856, 1.4895, 0.9802},
1521 {0.0130, 0.0224, 0.0067, 0.0023, 1.3647, 1.9240, 0.9774, 0.2057},
1522 {0.0095, 0.0120, 0.0131, 0.0033, 1.3549, 0.0578, 1.0622, 0.1492},
1523 {0.0181, 0.0095, 0.0048, 0.0018, 0.3657, 1.2464, 0.3167, 0.4021},
1524 {0.0101, 0.0144, 0.0037, 0.0026, 0.4662, 1.8786, 0.2706, 0.0059},
1525 {0.0070, 0.0282, 0.0065, 0.0019, 0.7439, 0.7537, 0.3298, 0.9921},
1526 {0.0072, 0.0062, 0.0052, 0.0013, 0.1273, 2.0858, 1.3163, 0.7964},
1527 {0.0126, 0.0085, 0.0094, 0.0022, 1.2513, 1.4222, 0.2437, 0.0859},
1528 {0.0110, 0.0094, 0.0039, 0.0021, 1.1705, 1.2577, 0.6227, 1.0916},
1529 {0.0147, 0.0115, 0.0034, 0.0048, 2.0546, 1.3980, 0.6977, 0.2892},
1530 {0.0071, 0.0057, 0.0022, 0.0022, 0.4330, 0.3782, 0.3191, 0.4790},
1531 {0.0028, 0.0083, 0.0053, 0.0010, 2.2178, 0.7593, 0.2022, 0.8853},
1532 {0.0163, 0.0146, 0.0025, 0.0067, 0.6594, 1.8242, 0.5305, 0.3463},
1533 {0.0131, 0.0159, 0.0064, 0.0011, 0.2721, 0.4152, 1.2204, 0.2509},
1534 {0.0017, 0.0102, 0.0114, 0.0033, 1.7444, 0.7768, 0.5442, 0.2794},
1535 {0.0064, 0.0136, 0.0053, 0.0016, 0.0440, 0.7431, 1.2696, 1.2395},
1536 {0.0052, 0.0019, 0.0068, 0.0025, 1.7642, 0.1807, 0.5063, 0.0677},
1537 {0.0053, 0.0123, 0.0099, 0.0016, 2.4677, 0.6623, 0.0884, 0.2277},
1538 {0.0021, 0.0086, 0.0155, 0.0024, 0.4650, 1.9816, 1.3812, 1.0381},
1539 {0.0207, 0.0054, 0.0099, 0.0018, 1.7223, 1.0553, 1.3898, 0.3571},
1540 {0.0150, 0.0114, 0.0081, 0.0007, 0.2526, 0.1555, 0.1727, 0.8274},
1541 {0.0153, 0.0051, 0.0085, 0.0030, 2.8053, 0.6042, 1.2212, 1.2452},
1542 {0.0114, 0.0114, 0.0056, 0.0054, 2.8354, 2.0479, 1.5487, 1.1835},
1543 {0.0089, 0.0099, 0.0060, 0.0028, 1.5864, 1.1997, 1.1121, 0.4190},
1544 {0.0123, 0.0216, 0.0035, 0.0026, 0.9786, 0.7528, 0.7907, 0.5562},
1545 {0.0032, 0.0109, 0.0024, 0.0028, 2.2915, 0.9272, 0.6995, 1.1891},
1546 {0.0091, 0.0270, 0.0068, 0.0024, 2.8772, 0.8494, 1.1551, 0.3609},
1547 {0.0129, 0.0144, 0.0049, 0.0031, 0.1821, 0.0452, 1.5706, 1.2319},
1548 {0.0127, 0.0097, 0.0046, 0.0043, 0.2283, 1.6986, 0.8899, 1.1361},
1549 {0.0021, 0.0287, 0.0132, 0.0002, 2.7721, 0.3207, 0.4076, 0.2857},
1550 {0.0115, 0.0110, 0.0034, 0.0010, 0.5521, 1.4541, 1.0152, 0.6732},
1551 {0.0282, 0.0102, 0.0123, 0.0023, 0.6063, 1.4107, 1.4128, 0.8899},
1552 {0.0208, 0.0216, 0.0059, 0.0015, 2.6100, 0.4442, 0.3081, 0.8974},
1553 {0.0084, 0.0071, 0.0019, 0.0037, 2.6944, 1.1982, 0.9367, 0.9872},
1554 {0.0201, 0.0043, 0.0089, 0.0039, 2.1109, 0.3362, 1.0562, 1.0923},
1555 {0.0119, 0.0056, 0.0107, 0.0060, 3.1011, 1.8405, 0.1200, 0.5129},
1556 {0.0096, 0.0089, 0.0069, 0.0046, 3.0687, 1.2951, 0.4996, 0.9441},
1557 {0.0266, 0.0038, 0.0123, 0.0024, 2.1246, 0.2021, 1.2239, 0.6545},
1558 {0.0063, 0.0122, 0.0156, 0.0022, 2.2736, 0.4226, 1.0690, 0.2122},
1559 {0.0271, 0.0119, 0.0026, 0.0003, 1.6497, 1.2688, 1.1221, 0.9900},
1560 {0.0100, 0.0132, 0.0046, 0.0004, 0.9965, 0.9618, 1.1305, 0.6669},
1561 {0.0056, 0.0023, 0.0111, 0.0020, 1.9226, 1.5838, 0.9000, 0.1033},
1562 {0.0037, 0.0070, 0.0058, 0.0023, 2.0981, 2.0770, 1.1765, 0.5544},
1563 {0.0239, 0.0168, 0.0095, 0.0013, 1.6507, 0.8755, 0.6177, 0.1818},
1564 {0.0044, 0.0168, 0.0081, 0.0060, 1.8151, 0.2016, 1.0153, 0.0109},
1565 {0.0157, 0.0155, 0.0038, 0.0047, 0.4066, 1.9201, 1.0704, 0.3928},
1566 {0.0096, 0.0121, 0.0100, 0.0022, 2.1289, 2.0646, 0.4981, 0.7227},
1567 {0.0179, 0.0150, 0.0003, 0.0060, 1.9955, 1.4489, 1.2964, 0.4596},
1568 {0.0099, 0.0091, 0.0013, 0.0050, 2.3420, 1.2983, 0.8489, 0.6094},
1569 {0.0085, 0.0083, 0.0137, 0.0060, 2.7641, 0.5335, 0.7058, 0.8528},
1570 {0.0072, 0.0128, 0.0070, 0.0017, 2.5533, 1.1833, 1.1426, 0.3015},
1571 {0.0178, 0.0059, 0.0123, 0.0014, 2.3903, 0.8255, 1.4489, 1.0062},
1572 {0.0177, 0.0097, 0.0117, 0.0023, 0.3326, 1.1289, 0.0181, 0.5852},
1573 {0.0092, 0.0097, 0.0024, 0.0018, 1.4998, 1.6096, 0.9054, 0.1004},
1574 {0.0217, 0.0111, 0.0016, 0.0028, 0.9820, 1.4327, 1.4867, 0.4863},
1575 {0.0047, 0.0080, 0.0100, 0.0045, 2.8094, 0.2580, 1.2854, 0.2201},
1576 {0.0033, 0.0169, 0.0125, 0.0023, 2.1266, 1.0499, 0.7047, 1.0886},
1577 {0.0114, 0.0103, 0.0087, 0.0033, 1.3277, 1.6925, 1.1173, 0.9879},
1578 {0.0088, 0.0067, 0.0067, 0.0023, 1.1789, 1.5199, 0.4483, 0.1783},
1579 {0.0066, 0.0240, 0.0061, 0.0035, 1.0477, 0.2353, 0.1057, 1.0293},
1580 {0.0209, 0.0076, 0.0039, 0.0071, 1.3516, 1.0116, 1.1254, 0.4666},
1581 {0.0144, 0.0172, 0.0150, 0.0019, 1.4880, 0.6142, 0.1007, 1.1708},
1582 {0.0120, 0.0177, 0.0064, 0.0020, 0.3051, 0.7682, 1.2798, 0.4748},
1583 {0.0127, 0.0049, 0.0064, 0.0048, 2.9249, 0.1780, 0.6767, 1.2302},
1584 {0.0078, 0.0048, 0.0054, 0.0026, 3.0607, 0.7733, 0.0750, 0.6874},
1585 {0.0121, 0.0143, 0.0085, 0.0030, 0.4726, 2.0846, 0.4344, 0.0027},
1586 {0.0137, 0.0083, 0.0079, 0.0026, 0.1603, 0.7542, 0.2484, 0.2484},
1587 {0.0165, 0.0115, 0.0092, 0.0030, 2.0919, 1.8560, 0.8101, 0.3244},
1588 {0.0023, 0.0108, 0.0079, 0.0049, 2.9305, 1.8473, 1.3830, 0.5775},
1589 {0.0122, 0.0186, 0.0128, 0.0029, 2.1956, 1.3914, 0.5269, 1.0969},
1590 {0.0033, 0.0097, 0.0074, 0.0017, 2.1390, 0.1310, 0.5053, 1.1234},
1591 {0.0104, 0.0012, 0.0130, 0.0013, 2.3245, 0.6883, 0.9553, 0.5956},
1592 {0.0083, 0.0048, 0.0048, 0.0018, 2.9457, 0.6589, 1.2839, 0.7465},
1593 {0.0112, 0.0148, 0.0051, 0.0040, 2.1775, 1.7562, 1.3573, 0.5653},
1594 {0.0120, 0.0096, 0.0163, 0.0024, 1.3642, 0.5761, 0.0222, 0.4604},
1595 {0.0166, 0.0117, 0.0084, 0.0009, 2.0378, 0.0877, 0.3153, 0.1669},
1596 {0.0184, 0.0181, 0.0105, 0.0061, 3.0140, 2.0353, 1.3437, 1.2154},
1597 {0.0156, 0.0103, 0.0081, 0.0007, 1.7236, 1.7334, 1.1225, 0.8141},
1598 {0.0123, 0.0111, 0.0086, 0.0034, 2.8389, 1.5805, 0.0658, 0.3745},
1599 {0.0122, 0.0093, 0.0069, 0.0030, 1.3305, 0.6095, 1.3544, 1.0004},
1600 {0.0164, 0.0089, 0.0013, 0.0031, 1.6222, 0.5727, 0.1916, 1.2456},
1601 {0.0143, 0.0036, 0.0112, 0.0014, 2.9718, 1.6541, 0.3906, 0.6607},
1602 {0.0181, 0.0081, 0.0015, 0.0035, 2.5648, 0.3615, 0.3317, 0.4304},
1603 {0.0182, 0.0134, 0.0042, 0.0028, 1.2501, 2.0225, 0.1822, 0.2684},
1604 {0.0196, 0.0046, 0.0091, 0.0029, 2.2566, 1.1413, 0.2947, 0.4836},
1605 {0.0194, 0.0120, 0.0080, 0.0026, 0.6228, 0.4399, 0.1849, 1.2185},
1606 {0.0171, 0.0050, 0.0052, 0.0040, 2.7070, 0.7457, 1.0050, 0.4375},
1607 {0.0223, 0.0155, 0.0091, 0.0014, 2.2510, 0.0226, 0.5278, 0.9606},
1608 {0.0189, 0.0077, 0.0197, 0.0033, 0.9264, 0.8394, 1.2462, 0.6076},
1609 {0.0089, 0.0181, 0.0032, 0.0054, 0.8931, 1.4755, 0.1916, 0.8407},
1610 {0.0155, 0.0077, 0.0061, 0.0012, 0.1528, 0.4265, 0.4886, 0.0510},
1611 {0.0088, 0.0099, 0.0114, 0.0012, 1.9023, 0.1775, 0.0271, 1.1395},
1612 {0.0109, 0.0106, 0.0028, 0.0027, 0.5548, 0.0210, 1.3142, 0.5683},
1613 {0.0082, 0.0041, 0.0044, 0.0043, 2.7331, 1.9869, 1.1365, 0.6074},
1614 {0.0075, 0.0139, 0.0085, 0.0015, 0.2715, 0.4933, 0.9131, 1.2118},
1615 {0.0105, 0.0125, 0.0073, 0.0048, 1.4184, 1.6238, 0.9015, 0.9230},
1616 {0.0277, 0.0081, 0.0058, 0.0033, 0.1277, 1.5198, 1.4977, 0.0958},
1617 {0.0114, 0.0293, 0.0091, 0.0027, 1.8356, 1.9889, 0.8336, 0.0298},
1618 {0.0147, 0.0161, 0.0042, 0.0074, 0.1122, 1.8607, 0.6541, 0.0888},
1619 {0.0206, 0.0058, 0.0086, 0.0009, 2.8307, 2.0617, 0.3877, 0.2164},
1620 {0.0165, 0.0173, 0.0105, 0.0026, 0.9997, 1.2328, 1.4245, 0.6943},
1621 {0.0044, 0.0182, 0.0091, 0.0014, 3.0848, 1.3357, 0.5952, 0.8780},
1622 {0.0194, 0.0087, 0.0056, 0.0020, 3.1364, 0.1080, 1.1027, 0.1262},
1623 {0.0123, 0.0043, 0.0095, 0.0033, 0.5469, 1.9568, 0.8445, 0.4266},
1624 {0.0150, 0.0127, 0.0049, 0.0043, 1.6956, 1.3601, 0.8500, 1.1742},
1625 {0.0115, 0.0062, 0.0047, 0.0006, 2.1551, 0.6965, 0.1356, 0.7501},
1626 {0.0090, 0.0063, 0.0063, 0.0028, 1.7330, 0.2039, 0.8943, 1.2285},
1627 {0.0140, 0.0106, 0.0039, 0.0009, 1.1902, 0.8273, 1.4574, 0.3725},
1628 {0.0198, 0.0057, 0.0025, 0.0016, 0.0369, 0.5238, 0.9717, 0.2579},
1629 {0.0086, 0.0060, 0.0057, 0.0003, 0.1255, 1.0270, 1.2220, 0.5405},
1630 {0.0231, 0.0214, 0.0044, 0.0017, 0.7016, 1.1596, 1.0214, 0.8180},
1631 {0.0152, 0.0100, 0.0117, 0.0005, 0.2866, 0.2131, 1.2717, 0.5844},
1632 {0.0100, 0.0083, 0.0037, 0.0015, 3.1330, 1.8672, 0.8620, 0.1803},
1633 {0.0138, 0.0096, 0.0064, 0.0034, 2.1978, 0.0754, 1.2565, 0.2397},
1634 {0.0199, 0.0184, 0.0131, 0.0027, 1.3119, 2.0688, 1.0833, 0.9499},
1635 {0.0041, 0.0233, 0.0067, 0.0054, 1.9096, 2.0399, 1.0795, 1.0596},
1636 {0.0247, 0.0088, 0.0063, 0.0010, 2.9687, 1.0976, 0.2781, 0.4587},
1637 {0.0108, 0.0041, 0.0111, 0.0028, 0.4263, 1.9856, 1.0337, 1.0204},
1638 {0.0115, 0.0118, 0.0055, 0.0038, 2.4529, 0.9822, 0.5233, 1.1745},
1639 {0.0107, 0.0163, 0.0067, 0.0024, 1.3844, 1.9843, 0.2476, 0.0320},
1640 {0.0051, 0.0059, 0.0061, 0.0005, 1.8910, 1.3375, 0.7820, 0.0796},
1641 {0.0024, 0.0083, 0.0101, 0.0022, 1.5223, 1.0696, 0.9698, 0.7865},
1642 {0.0216, 0.0123, 0.0095, 0.0015, 2.6832, 0.6256, 1.1340, 0.9306},
1643 {0.0065, 0.0182, 0.0075, 0.0017, 0.9990, 1.2047, 0.7111, 1.1854},
1644 {0.0170, 0.0068, 0.0106, 0.0010, 0.4692, 0.4148, 1.2138, 0.7078},
1645 {0.0043, 0.0183, 0.0089, 0.0007, 0.8870, 0.0637, 0.1933, 0.5632},
1646 {0.0123, 0.0020, 0.0018, 0.0016, 2.0266, 0.4336, 0.8154, 1.2074},
1647 {0.0138, 0.0064, 0.0043, 0.0024, 2.4468, 0.7047, 0.9627, 0.2181},
1648 {0.0178, 0.0016, 0.0098, 0.0026, 1.9066, 1.7179, 0.8600, 0.3462},
1649 {0.0146, 0.0043, 0.0039, 0.0019, 0.7890, 0.7445, 1.2881, 0.0924},
1650 {0.0102, 0.0103, 0.0132, 0.0040, 3.0502, 1.7786, 1.4099, 0.0962},
1651 {0.0114, 0.0123, 0.0019, 0.0019, 0.3048, 0.7776, 0.1184, 1.2314},
1652 {0.0135, 0.0062, 0.0101, 0.0008, 0.5751, 0.5802, 1.4956, 1.2402},
1653 {0.0104, 0.0134, 0.0129, 0.0010, 0.2119, 0.0125, 1.1365, 0.8467},
1654 {0.0134, 0.0050, 0.0081, 0.0016, 1.6876, 1.8856, 0.4082, 0.1917},
1655 {0.0100, 0.0196, 0.0054, 0.0030, 0.1195, 0.3899, 0.1431, 0.4342},
1656 {0.0061, 0.0077, 0.0007, 0.0039, 0.6148, 1.0659, 0.8027, 1.2052},
1657 {0.0048, 0.0191, 0.0069, 0.0033, 0.8793, 0.4803, 0.3874, 0.7770},
1658 {0.0057, 0.0136, 0.0015, 0.0025, 0.5037, 0.1824, 0.6932, 0.8595},
1659 {0.0091, 0.0177, 0.0092, 0.0042, 2.4779, 1.3925, 0.1751, 0.1453},
1660 {0.0065, 0.0299, 0.0017, 0.0008, 1.4181, 0.2696, 0.0579, 0.7625},
1661 {0.0376, 0.0202, 0.0033, 0.0016, 0.7216, 1.7748, 0.9500, 0.5592},
1662 {0.0097, 0.0109, 0.0113, 0.0033, 2.5866, 1.9141, 0.9019, 0.0441},
1663 {0.0128, 0.0008, 0.0060, 0.0046, 0.4965, 0.6755, 0.2703, 0.1433},
1664 {0.0056, 0.0097, 0.0155, 0.0017, 1.0428, 1.1469, 0.8274, 1.1227},
1665 {0.0029, 0.0133, 0.0109, 0.0049, 0.3445, 1.9402, 0.0050, 0.4723},
1666 {0.0098, 0.0128, 0.0057, 0.0024, 1.8701, 0.9815, 1.3405, 1.0143},
1667 {0.0111, 0.0250, 0.0034, 0.0010, 2.0078, 0.2191, 0.1272, 0.8923},
1668 {0.0197, 0.0067, 0.0107, 0.0032, 0.1235, 0.5695, 0.7542, 1.1683},
1669 {0.0181, 0.0207, 0.0094, 0.0072, 2.6084, 1.3190, 0.7297, 0.6604},
1670 {0.0129, 0.0115, 0.0079, 0.0069, 3.0786, 1.1767, 1.5533, 0.7349},
1671 {0.0122, 0.0238, 0.0129, 0.0022, 2.6770, 0.8137, 1.2751, 1.0020},
1672 {0.0070, 0.0142, 0.0113, 0.0011, 2.6926, 1.5312, 0.9978, 0.8892},
1673 {0.0050, 0.0141, 0.0180, 0.0033, 0.1019, 1.4817, 0.4370, 1.0886},
1674 {0.0101, 0.0145, 0.0032, 0.0017, 1.8140, 1.2059, 0.2978, 1.1480},
1675 {0.0175, 0.0151, 0.0098, 0.0019, 0.3334, 0.0315, 1.0528, 0.7383},
1676 {0.0084, 0.0301, 0.0058, 0.0013, 0.2123, 1.2699, 0.5463, 0.5370},
1677 {0.0119, 0.0071, 0.0121, 0.0016, 1.3785, 0.5978, 1.1371, 0.4401},
1678 {0.0140, 0.0171, 0.0112, 0.0041, 2.2485, 1.4067, 0.2384, 0.4286},
1679 {0.0195, 0.0166, 0.0110, 0.0038, 2.2849, 0.4291, 0.3410, 0.1126},
1680 {0.0198, 0.0193, 0.0033, 0.0058, 2.2928, 0.0158, 0.0165, 0.7798},
1681 {0.0050, 0.0189, 0.0036, 0.0021, 0.0582, 0.8407, 1.1294, 0.9280},
1682 {0.0070, 0.0092, 0.0036, 0.0013, 1.1529, 1.9635, 1.0651, 0.0392},
1683 {0.0027, 0.0058, 0.0051, 0.0048, 0.7714, 0.4794, 0.6610, 0.9076},
1684 {0.0262, 0.0160, 0.0036, 0.0021, 2.4938, 1.8068, 0.5645, 0.0898},
1685 {0.0126, 0.0157, 0.0105, 0.0020, 1.8734, 0.0085, 1.2675, 0.1232},
1686 {0.0122, 0.0124, 0.0018, 0.0032, 1.2492, 1.3196, 0.6273, 0.3287},
1687 {0.0131, 0.0114, 0.0049, 0.0014, 2.1214, 1.4683, 0.2798, 0.1446},
1688 {0.0098, 0.0173, 0.0043, 0.0010, 0.8372, 0.9289, 0.3664, 1.1893},
1689 {0.0056, 0.0096, 0.0006, 0.0015, 1.1941, 0.2447, 0.6154, 0.1081},
1690 {0.0268, 0.0128, 0.0087, 0.0026, 1.3308, 0.6560, 0.1689, 0.7455},
1691 {0.0195, 0.0086, 0.0133, 0.0039, 2.1138, 1.5816, 0.4573, 0.9342},
1692 {0.0046, 0.0104, 0.0042, 0.0057, 0.3878, 0.5130, 1.4724, 0.0190},
1693 {0.0033, 0.0215, 0.0134, 0.0027, 2.2140, 0.8516, 1.0710, 0.9896},
1694 {0.0080, 0.0049, 0.0063, 0.0008, 2.6538, 1.8995, 1.2771, 0.6742},
1695 {0.0111, 0.0076, 0.0082, 0.0039, 1.1687, 1.7572, 1.1559, 0.9726},
1696 {0.0055, 0.0043, 0.0068, 0.0041, 2.1161, 1.4606, 1.1673, 1.2388},
1697 {0.0151, 0.0276, 0.0042, 0.0026, 0.3085, 0.6697, 0.6069, 1.1600},
1698 {0.0328, 0.0099, 0.0118, 0.0011, 1.9957, 0.2306, 0.9909, 0.3344},
1699 {0.0191, 0.0089, 0.0038, 0.0043, 2.3634, 1.9017, 0.6815, 0.0040},
1700 {0.0106, 0.0200, 0.0047, 0.0017, 2.5114, 0.5668, 0.6796, 1.1615},
1701 {0.0051, 0.0082, 0.0032, 0.0057, 1.5984, 0.9255, 0.8304, 1.2412},
1702 {0.0132, 0.0195, 0.0104, 0.0039, 0.1513, 1.6562, 0.4538, 0.9850},
1703 {0.0126, 0.0129, 0.0054, 0.0020, 1.9958, 1.2345, 0.0817, 0.5748},
1704 {0.0180, 0.0114, 0.0025, 0.0019, 0.3068, 1.5582, 0.7094, 0.7932},
1705 {0.0014, 0.0179, 0.0113, 0.0016, 0.6548, 0.0357, 0.3491, 0.3729},
1706 {0.0133, 0.0081, 0.0108, 0.0010, 1.2681, 0.0784, 0.8892, 1.1707},
1707 {0.0094, 0.0149, 0.0071, 0.0025, 1.9509, 1.4684, 0.2666, 0.2388},
1708 {0.0019, 0.0126, 0.0041, 0.0055, 2.5134, 1.7356, 0.9304, 0.1254},
1709 {0.0212, 0.0222, 0.0111, 0.0037, 1.8128, 0.7586, 1.5264, 0.5764},
1710 {0.0018, 0.0232, 0.0032, 0.0021, 1.8452, 1.7118, 0.4042, 0.3207},
1711 {0.0116, 0.0129, 0.0032, 0.0031, 1.7869, 1.8972, 1.0492, 0.4099},
1712 {0.0204, 0.0061, 0.0045, 0.0015, 1.5150, 0.1407, 0.8372, 0.2237},
1713 {0.0110, 0.0303, 0.0076, 0.0019, 0.4509, 1.1437, 0.7510, 1.2134},
1714 {0.0144, 0.0179, 0.0081, 0.0015, 0.1253, 1.4838, 0.6993, 1.2482},
1715 {0.0032, 0.0323, 0.0085, 0.0012, 1.2771, 2.0519, 0.7691, 0.5044},
1716 {0.0172, 0.0266, 0.0050, 0.0012, 0.0311, 2.0403, 1.4857, 0.0537},
1717 {0.0233, 0.0184, 0.0080, 0.0044, 2.5444, 1.9774, 0.2290, 1.2328},
1718 {0.0149, 0.0082, 0.0046, 0.0018, 1.1703, 2.0565, 1.2349, 0.3740},
1719 {0.0241, 0.0233, 0.0117, 0.0035, 2.0348, 1.0137, 0.7176, 0.7898},
1720 {0.0120, 0.0068, 0.0069, 0.0023, 2.2351, 1.9502, 0.7107, 0.8255},
1721 {0.0180, 0.0071, 0.0061, 0.0029, 3.0668, 0.5662, 0.4843, 0.3449},
1722 {0.0046, 0.0176, 0.0146, 0.0005, 2.5892, 1.6997, 0.5470, 0.5327},
1723 {0.0217, 0.0279, 0.0095, 0.0017, 3.1101, 0.1986, 0.7152, 0.8793},
1724 {0.0076, 0.0038, 0.0048, 0.0013, 2.5997, 1.8645, 0.6158, 1.0507},
1725 {0.0114, 0.0122, 0.0160, 0.0053, 3.0017, 0.2995, 0.6446, 0.0752},
1726 {0.0117, 0.0118, 0.0054, 0.0031, 0.5203, 0.2113, 0.4019, 0.2653},
1727 {0.0170, 0.0176, 0.0109, 0.0014, 2.9938, 0.4597, 0.9603, 0.5441},
1728 {0.0032, 0.0166, 0.0104, 0.0018, 2.2736, 0.1183, 1.5353, 0.9630},
1729 {0.0140, 0.0026, 0.0123, 0.0038, 0.9841, 0.5333, 0.1106, 0.9818},
1730 {0.0186, 0.0095, 0.0154, 0.0044, 1.0710, 1.1085, 0.5786, 0.4476},
1731 {0.0036, 0.0074, 0.0065, 0.0054, 0.1991, 0.4954, 1.4186, 1.2296},
1732 {0.0171, 0.0106, 0.0057, 0.0015, 1.3980, 1.9400, 0.5324, 0.2100},
1733 {0.0017, 0.0108, 0.0061, 0.0068, 0.2364, 1.9401, 0.6312, 0.6766},
1734 {0.0072, 0.0100, 0.0064, 0.0027, 2.6298, 1.9040, 1.5324, 0.4255},
1735 {0.0049, 0.0078, 0.0108, 0.0019, 2.8918, 0.5057, 1.0193, 0.0276},
1736 {0.0134, 0.0150, 0.0094, 0.0052, 2.7824, 1.4790, 1.0799, 0.1170},
1737 {0.0059, 0.0174, 0.0037, 0.0020, 1.1473, 1.5172, 1.4863, 0.7157},
1738 {0.0104, 0.0147, 0.0050, 0.0034, 2.8548, 1.6373, 1.1067, 0.1058},
1739 {0.0078, 0.0141, 0.0156, 0.0013, 0.3839, 2.0424, 1.2524, 1.2236},
1740 {0.0168, 0.0060, 0.0140, 0.0059, 0.3661, 0.1142, 1.0174, 0.6876},
1741 {0.0075, 0.0126, 0.0113, 0.0044, 1.0701, 1.7237, 0.3929, 0.5876},
1742 {0.0105, 0.0052, 0.0051, 0.0033, 2.8024, 1.7995, 0.9513, 0.0596},
1743 {0.0313, 0.0098, 0.0116, 0.0041, 0.0316, 2.0876, 0.9225, 0.2930},
1744 {0.0095, 0.0102, 0.0045, 0.0034, 1.0195, 0.1796, 0.3268, 0.1556},
1745 {0.0100, 0.0119, 0.0015, 0.0008, 1.3102, 1.9364, 1.4832, 0.9270},
1746 {0.0073, 0.0040, 0.0015, 0.0031, 1.0762, 0.4398, 0.4016, 0.7630},
1747 {0.0059, 0.0223, 0.0041, 0.0047, 1.2775, 0.9970, 1.1847, 0.4077},
1748 {0.0288, 0.0175, 0.0099, 0.0036, 1.2865, 0.8372, 0.3624, 0.3249},
1749 {0.0038, 0.0037, 0.0070, 0.0042, 0.2823, 1.3240, 0.6374, 1.0790},
1750 {0.0046, 0.0203, 0.0088, 0.0013, 0.0241, 0.5188, 1.1429, 0.6752},
1751 {0.0085, 0.0225, 0.0054, 0.0019, 1.2467, 0.1586, 0.5029, 0.9428},
1752 {0.0200, 0.0110, 0.0077, 0.0034, 1.7224, 1.0048, 1.4214, 1.0760},
1753 {0.0107, 0.0110, 0.0062, 0.0036, 1.3003, 1.8216, 1.4260, 0.8645},
1754 {0.0098, 0.0108, 0.0033, 0.0040, 2.3488, 1.6367, 1.2396, 1.1924},
1755 {0.0100, 0.0072, 0.0106, 0.0017, 0.9517, 1.7579, 1.1148, 0.1767},
1756 {0.0070, 0.0092, 0.0032, 0.0028, 0.3840, 0.0812, 0.2991, 0.2998},
1757 {0.0174, 0.0177, 0.0100, 0.0008, 0.9373, 0.4938, 0.3044, 0.3579},
1758 {0.0092, 0.0134, 0.0080, 0.0009, 1.2092, 0.4288, 0.5479, 0.9964},
1759 {0.0037, 0.0164, 0.0051, 0.0016, 2.1923, 0.8158, 0.0667, 1.0408},
1760 {0.0050, 0.0137, 0.0139, 0.0019, 0.0359, 0.0012, 1.0014, 0.5098},
1761 {0.0055, 0.0043, 0.0076, 0.0029, 2.3821, 1.3232, 0.4201, 1.2520},
1762 {0.0077, 0.0066, 0.0113, 0.0029, 2.8059, 2.0480, 0.2036, 0.0844},
1763 {0.0209, 0.0207, 0.0049, 0.0017, 0.0976, 1.6299, 1.1144, 1.0213},
1764 {0.0100, 0.0192, 0.0047, 0.0010, 1.0883, 0.9764, 0.2155, 1.1940},
1765 {0.0038, 0.0075, 0.0128, 0.0014, 0.6894, 0.8497, 1.5570, 0.2692},
1766 {0.0110, 0.0042, 0.0027, 0.0056, 1.7175, 1.7685, 0.6648, 1.1603},
1767 {0.0133, 0.0046, 0.0028, 0.0042, 1.2470, 1.3693, 0.4291, 0.1843},
1768 {0.0084, 0.0207, 0.0192, 0.0010, 1.7049, 0.6654, 0.1892, 0.9108},
1769 {0.0114, 0.0192, 0.0111, 0.0035, 0.1111, 0.2245, 0.6405, 0.4412},
1770 {0.0050, 0.0130, 0.0058, 0.0041, 2.9179, 1.3901, 0.5407, 0.4174},
1771 {0.0180, 0.0028, 0.0052, 0.0020, 0.7291, 1.9041, 1.0980, 0.4874},
1772 {0.0177, 0.0050, 0.0144, 0.0021, 1.2765, 1.9586, 1.5685, 0.4539},
1773 {0.0135, 0.0226, 0.0091, 0.0029, 2.7607, 1.1069, 1.4427, 1.2103},
1774 {0.0076, 0.0059, 0.0095, 0.0032, 2.3900, 0.3554, 0.8471, 1.1871},
1775 {0.0065, 0.0125, 0.0113, 0.0019, 0.4172, 0.9931, 0.7135, 0.3500},
1776 {0.0100, 0.0019, 0.0052, 0.0018, 0.7083, 1.9296, 1.2251, 0.3835},
1777 {0.0175, 0.0027, 0.0041, 0.0032, 0.3757, 1.3088, 0.7385, 0.0136},
1778 {0.0131, 0.0012, 0.0037, 0.0018, 2.7581, 0.4501, 0.8392, 0.4057},
1779 {0.0162, 0.0055, 0.0063, 0.0008, 0.9309, 1.9077, 0.6246, 0.6869},
1780 {0.0092, 0.0066, 0.0061, 0.0027, 0.4270, 0.5592, 0.5984, 0.3664},
1781 {0.0093, 0.0155, 0.0096, 0.0012, 0.0888, 0.0138, 0.9761, 0.9387},
1782 {0.0232, 0.0030, 0.0012, 0.0018, 1.0103, 1.3105, 1.1543, 0.4580},
1783 {0.0091, 0.0138, 0.0117, 0.0010, 2.0275, 0.1862, 1.0082, 0.7152},
1784 {0.0046, 0.0146, 0.0058, 0.0006, 2.7164, 0.4973, 0.3711, 0.8929},
1785 {0.0124, 0.0039, 0.0064, 0.0029, 0.0734, 0.5001, 0.1700, 0.7015},
1786 {0.0024, 0.0064, 0.0024, 0.0009, 0.9627, 1.4399, 0.3649, 0.2004},
1787 {0.0037, 0.0133, 0.0097, 0.0031, 0.2014, 1.1774, 1.2642, 0.6371},
1788 {0.0344, 0.0101, 0.0085, 0.0027, 1.4060, 0.1155, 0.2356, 0.0542},
1789 {0.0073, 0.0013, 0.0048, 0.0004, 2.8539, 1.5881, 0.3362, 0.6969},
1790 {0.0128, 0.0161, 0.0071, 0.0053, 2.3949, 0.1941, 0.1206, 0.1499},
1791 {0.0135, 0.0178, 0.0122, 0.0061, 2.3731, 0.0056, 1.3851, 0.3842},
1792 {0.0097, 0.0247, 0.0013, 0.0018, 0.8335, 1.3187, 1.3054, 0.6448},
1793 {0.0045, 0.0117, 0.0104, 0.0024, 2.5110, 1.1067, 0.9396, 0.5052},
1794 {0.0072, 0.0117, 0.0074, 0.0039, 0.7208, 0.6408, 1.1329, 0.5908},
1795 {0.0093, 0.0234, 0.0133, 0.0038, 2.3006, 0.2541, 1.1034, 0.2324},
1796 {0.0109, 0.0205, 0.0155, 0.0067, 1.5636, 2.0396, 0.8667, 0.0112},
1797 {0.0090, 0.0172, 0.0041, 0.0018, 0.2388, 1.4317, 0.2854, 1.1759},
1798 {0.0192, 0.0101, 0.0088, 0.0010, 2.1545, 0.7999, 1.5177, 0.3061},
1799 {0.0105, 0.0095, 0.0007, 0.0018, 1.3741, 1.2807, 0.6832, 0.7749},
1800 {0.0064, 0.0121, 0.0078, 0.0034, 0.5180, 1.6747, 1.3113, 0.2402},
1801 {0.0039, 0.0031, 0.0129, 0.0026, 0.7717, 1.4115, 0.7525, 0.0632},
1802 {0.0099, 0.0237, 0.0029, 0.0057, 1.5999, 1.6389, 0.6722, 0.7793},
1803 {0.0031, 0.0119, 0.0068, 0.0051, 1.4428, 1.6590, 0.6001, 0.3696},
1804 {0.0016, 0.0177, 0.0055, 0.0007, 1.3757, 0.5399, 1.4051, 0.3330},
1805 {0.0132, 0.0062, 0.0092, 0.0042, 1.8616, 1.7299, 1.2276, 0.3553},
1806 {0.0102, 0.0149, 0.0062, 0.0026, 3.0159, 0.9631, 0.4066, 0.7634},
1807 {0.0202, 0.0032, 0.0028, 0.0011, 3.0440, 1.6730, 0.0659, 0.4190},
1808 {0.0040, 0.0199, 0.0072, 0.0049, 2.8376, 1.1899, 0.6880, 0.3716},
1809 {0.0072, 0.0105, 0.0133, 0.0076, 2.2572, 0.5076, 0.6271, 0.1691},
1810 {0.0101, 0.0109, 0.0068, 0.0055, 0.2971, 0.5915, 1.1698, 0.0515},
1811 {0.0170, 0.0167, 0.0075, 0.0015, 0.3839, 0.9573, 0.6347, 0.6510},
1812 {0.0117, 0.0061, 0.0030, 0.0009, 2.6093, 0.4259, 0.4273, 0.8861},
1813 {0.0042, 0.0022, 0.0094, 0.0020, 1.3445, 0.5421, 0.6545, 0.9748},
1814 {0.0178, 0.0110, 0.0057, 0.0070, 0.9030, 1.1982, 0.9715, 1.1535},
1815 {0.0074, 0.0145, 0.0118, 0.0015, 3.0026, 1.8525, 0.9991, 0.5912},
1816 {0.0235, 0.0126, 0.0106, 0.0017, 1.5768, 0.9108, 0.5716, 0.2727},
1817 {0.0167, 0.0148, 0.0116, 0.0017, 1.0353, 1.7619, 0.3951, 0.2947},
1818 {0.0131, 0.0139, 0.0109, 0.0044, 2.2321, 0.1821, 1.5191, 0.3270},
1819 {0.0144, 0.0137, 0.0050, 0.0013, 3.1220, 0.4640, 1.2267, 1.1019},
1820 {0.0214, 0.0026, 0.0054, 0.0024, 2.3978, 1.7252, 0.1594, 0.6990},
1821 {0.0141, 0.0074, 0.0069, 0.0013, 1.0683, 0.0628, 0.9449, 0.0837},
1822 {0.0116, 0.0226, 0.0047, 0.0007, 2.1564, 1.8269, 0.8714, 1.2005},
1823 {0.0151, 0.0241, 0.0097, 0.0034, 0.2904, 0.6657, 0.5823, 1.0473},
1824 {0.0158, 0.0054, 0.0013, 0.0023, 2.0291, 0.1255, 0.2251, 0.1777},
1825 {0.0095, 0.0194, 0.0045, 0.0010, 0.1391, 0.6952, 0.7655, 0.3528},
1826 {0.0323, 0.0077, 0.0093, 0.0025, 2.5059, 0.8143, 0.9753, 0.4365},
1827 {0.0088, 0.0196, 0.0029, 0.0056, 1.0531, 1.2262, 0.7902, 0.5696},
1828 {0.0058, 0.0103, 0.0016, 0.0027, 1.3645, 1.0926, 0.6892, 0.1396},
1829 {0.0048, 0.0235, 0.0062, 0.0052, 0.1360, 2.0105, 1.4386, 0.0478},
1830 {0.0180, 0.0097, 0.0112, 0.0019, 2.5605, 1.0203, 0.3819, 1.1079},
1831 {0.0189, 0.0054, 0.0045, 0.0030, 2.4685, 1.2378, 1.3858, 1.0875},
1832 {0.0201, 0.0094, 0.0029, 0.0010, 0.9477, 1.4278, 0.8179, 1.0957},
1833 {0.0079, 0.0127, 0.0083, 0.0043, 1.3163, 1.3207, 0.2192, 0.0845},
1834 {0.0144, 0.0169, 0.0012, 0.0010, 2.0262, 1.9272, 1.4234, 1.2528},
1835 {0.0083, 0.0047, 0.0096, 0.0035, 3.1353, 1.9535, 0.7535, 0.9366},
1836 {0.0129, 0.0134, 0.0091, 0.0025, 0.5241, 0.5672, 1.3602, 0.9937},
1837 {0.0129, 0.0165, 0.0059, 0.0034, 2.0923, 1.1969, 1.0181, 0.3233},
1838 {0.0218, 0.0118, 0.0010, 0.0037, 1.5175, 0.3109, 0.3593, 0.8776},
1839 {0.0020, 0.0075, 0.0032, 0.0020, 1.2901, 0.8482, 0.6895, 0.2847},
1840 {0.0136, 0.0145, 0.0114, 0.0019, 3.0816, 1.1904, 1.2484, 0.1264},
1841 {0.0126, 0.0114, 0.0034, 0.0060, 2.5748, 1.5052, 1.2225, 0.1405},
1842 {0.0163, 0.0186, 0.0033, 0.0023, 1.9710, 1.2308, 1.1154, 1.0442},
1843 {0.0088, 0.0158, 0.0052, 0.0011, 0.7200, 0.2429, 0.3846, 0.5091},
1844 {0.0083, 0.0065, 0.0064, 0.0042, 1.7709, 1.4932, 1.4849, 0.9873},
1845 {0.0158, 0.0158, 0.0097, 0.0006, 1.3281, 1.2261, 1.5095, 1.0002},
1846 {0.0147, 0.0122, 0.0062, 0.0027, 2.6676, 2.0461, 0.4477, 1.1191},
1847 {0.0119, 0.0136, 0.0100, 0.0039, 2.1697, 1.7528, 1.0626, 0.1126},
1848 {0.0290, 0.0204, 0.0063, 0.0020, 1.2412, 1.8353, 0.1385, 1.2566}};
1849
d514944f 1850 float v2=fFitHighV2->Eval(3.);
1851 float v3=fFitHighV3->Eval(3.);
1852 float v4=fFitHighV4->Eval(3.);
13171d17 1853 float v5=0;
1854 float Psi5=0;
1855
1856 if(fSimulate==3){
1857 fSimFlowMark=int(0.5+500*gRandom->Rndm());
1858 int aa=fSimFlowMark;
1859 v2=3*FlowValues[aa][0];
1860 v3=3*FlowValues[aa][1];
1861 v4=3*FlowValues[aa][2];
1862 v5=3*FlowValues[aa][3];
1863 fSimPsi2=FlowValues[aa][4];
1864 fSimPsi3=FlowValues[aa][5];
1865 fSimPsi4=FlowValues[aa][6];
1866 Psi5=FlowValues[aa][7];
1867
1868 if(fSimFlowMark>=500)fSimFlowMark=0;
1869 }
1870 if(fSimulate==1){
1871 fSimPsi2=2*TMath::Pi()*gRandom->Rndm();
1872 fSimPsi3=2*TMath::Pi()*gRandom->Rndm();
1873 fSimPsi4=fSimPsi2;
1874 }
1875
1876 float randAng=2*TMath::Pi()*gRandom->Rndm();
1877 fSimPsi2+=randAng;
1878 fSimPsi3+=randAng;
1879 fSimPsi4+=randAng;
1880 Psi5+=randAng;
1881
1882 Int_t lead=0;
d514944f 1883 rGoodTracks[0]=0;
13171d17 1884 TF1 *SimFlow=new TF1("SimFlow","1+2*[0]*cos(2*(x-[1]))+2*[2]*cos(3*(x-[3]))+2*[4]*cos(4*(x-[5]))+2*[6]*cos(5*(x-[6]))",-TMath::Pi(),TMath::Pi());
1885
1886 SimFlow->SetParameters(v2,fSimPsi2,v3,fSimPsi3,v4,fSimPsi4,v5,Psi5);
1887 // SimFlow->SetParameters(0,0,0,0);
d514944f 1888 TF1 *SimNear=new TF1("SimNear","exp(-0.5*x*x/[0]/[0])",-TMath::Pi(),TMath::Pi());
1889 SimNear->SetParameter(0,0.3);
1890 TF1 *SimAway=new TF1("SimAway","exp(-0.5*x*x/[0]/[0])",-TMath::Pi(),TMath::Pi());
13171d17 1891 SimAway->SetParameter(0,0.5);//0.5 for DiJet 0.3 for cone
1892
1893 //used fixed v2,v3,v4 for mixing
1894 v2=0.07,v3=0.05,v4=0.03;
d514944f 1895 TF1 *SimAway2=new TF1("SimAway2","exp(-0.5*(x-[1])*(x-[1])/[0]/[0])+exp(-0.5*(x+[1])*(x+[1])/[0]/[0])",-TMath::Pi(),TMath::Pi());
1896 SimAway2->SetParameter(0,0.3);//0.5 for DiJet 0.3 for cone
1897 SimAway2->SetParameter(1,1.4);//Cone Angle
1898
13171d17 1899 TF1 *AwayProb=new TF1("AwayProb","[0]");
1900 // TF1 *AwayProb=new TF1("AwayProb","[0]*cos(2*x)*cos(2*x)");
1901 AwayProb->SetParameter(0,0.5);
1902 // AwayProb->SetParameter(0,1);
d514944f 1903
1904 // TF1 *SimAway=new TF1("SimAway","0.035+2*[0]*[0]*cos(2*x)+2*[1]*[1]*cos(3*x)+2*[2]*[2]*cos(4*x)",1.0,TMath::Pi()*2-1.0);
1905 // SimAway->SetParameters(v2,v3,v4);
1906 // TF1 *SimAway2=new TF1("SimAway2","0.035+2*[0]*[0]*cos(2*x)+2*[1]*[1]*cos(3*x)+2*[2]*[2]*cos(4*x)",1.05,TMath::Pi()*2-1.05);
1907 //SimAway->SetParameters(v2,v3,v4);
1908
13171d17 1909
d514944f 1910 Float_t TrigAngle;
1911 Float_t sPt,sPhi;
1912 Int_t InAccpt;
1913 Int_t AccptPercent=4;//1 over this is % in aceptance on away-side
1914 Int_t AwaySidePM=0;
1915
1916 Int_t AwaySide1=1;
1917 //Use SimAway1 or 2
1918 // if(gRandom->Rndm()<AwayProb->Eval(RPAngle))AwaySide1=1;
1919 //else AwaySide1=2;
13171d17 1920 if(fSimNJet<1)fSimNJet=1;
d514944f 1921 for(int i=0;i<gRandom->Poisson(fSimNBgPart);i++){
1922 sPt=1.5;
1923 rPt[rGoodTracks[0]]=sPt;
1924 rEta[rGoodTracks[0]]=0;
13171d17 1925 sPhi=SimFlow->GetRandom();
d514944f 1926 if(sPhi<fdPhiMin)sPhi+=2*fPi;
1927 if(sPhi>fdPhiMax)sPhi-=2*fPi;
1928 rPhi[rGoodTracks[0]]=sPhi;
1929 rCharge[rGoodTracks[0]]=1;
1930 rEff[rGoodTracks[0]]=1;
1931 rV2[rGoodTracks[0]]=v2;
1932 rV3[rGoodTracks[0]]=v3;
1933 rV4[rGoodTracks[0]]=v4;
1934 rNPtAssoc3[rGoodTracks[0]]=0;
1935 for(int apt3=0;apt3<fNAPt3Bins;apt3++){
1936 if(sPt<fPtAssoc3Array2[apt3]&&sPt>=fPtAssoc3Array1[apt3]){
1937 rPtAssoc3[rGoodTracks[0]][rNPtAssoc3[rGoodTracks[0]]]=apt3;
1938 rNPtAssoc3[rGoodTracks[0]]++;
1939 }
1940 }
1941 rGoodTracks[0]++;
1942 }
1943 for(int i=0;i<gRandom->Poisson(fSimNJet);i++){
13171d17 1944 TrigAngle=SimFlow->GetRandom();
1945 if(gRandom->Rndm()<AwayProb->Eval(TrigAngle-fSimPsi2))AwaySide1=1;
1946 else AwaySide1=2;
d514944f 1947 sPhi=TrigAngle;
1948 if(sPhi<fdPhiMin)sPhi+=2*fPi;
1949 if(sPhi>fdPhiMax)sPhi-=2*fPi;
1950 sPt=3.1;
1951 rPt[rGoodTracks[0]]=sPt;
1952 rEta[rGoodTracks[0]]=0;
1953 rPhi[rGoodTracks[0]]=sPhi;
1954 rCharge[rGoodTracks[0]]=1;
1955 rEff[rGoodTracks[0]]=1;
1956 rV2[rGoodTracks[0]]=v2;
1957 rV3[rGoodTracks[0]]=v3;
1958 rV4[rGoodTracks[0]]=v4;
1959 rNPtAssoc3[rGoodTracks[0]]=0;
1960 lead=rGoodTracks[0];
1961 rGoodTracks[0]++;
1962
1963 for(int k=0;k<gRandom->Poisson(fSimNJetPart);k++){
1964 sPhi=SimNear->GetRandom()+TrigAngle;
1965 if(sPhi<fdPhiMin)sPhi+=2*fPi;
1966 if(sPhi>fdPhiMax)sPhi-=2*fPi;
1967 sPt=1.5;
1968 rPt[rGoodTracks[0]]=sPt;
1969 rEta[rGoodTracks[0]]=0;
1970 rPhi[rGoodTracks[0]]=sPhi;
1971 rCharge[rGoodTracks[0]]=1;
1972 rEff[rGoodTracks[0]]=1;
1973 rV2[rGoodTracks[0]]=v2;
1974 rV3[rGoodTracks[0]]=v3;
1975 rV4[rGoodTracks[0]]=v4;
1976 rNPtAssoc3[rGoodTracks[0]]=0;
1977 for(int apt3=0;apt3<fNAPt3Bins;apt3++){
1978 if(sPt<fPtAssoc3Array2[apt3]&&sPt>=fPtAssoc3Array1[apt3]){
1979 rPtAssoc3[rGoodTracks[0]][rNPtAssoc3[rGoodTracks[0]]]=apt3;
1980 rNPtAssoc3[rGoodTracks[0]]++;
1981 }
1982 }
1983 rGoodTracks[0]++;
1984 }
1985
1986 if(gRandom->Rndm()<1./AccptPercent)InAccpt=1;
1987 else InAccpt=0;
1988 if(gRandom->Rndm()<0.5)AwaySidePM=0;
1989 else AwaySidePM=1;
1990 for(int k=0;k<gRandom->Poisson(InAccpt*AccptPercent*fSimNJetPart);k++){
1991 //sPhi=SimAway->GetRandom()+TrigAngle+TMath::Pi();
1992 if(AwaySide1==1)sPhi=SimAway->GetRandom();
1993 else(sPhi=SimAway2->GetRandom());
13171d17 1994 if(fSimAwayDeflected){
d514944f 1995 if(sPhi>0&&AwaySidePM)sPhi=-sPhi;
1996 else if(sPhi<0&&!AwaySidePM)sPhi=-sPhi;
1997 }
1998 sPhi+=TrigAngle+fPi;
1999 if(sPhi<fdPhiMin)sPhi+=2*fPi;
2000 if(sPhi>fdPhiMax)sPhi-=2*fPi;
2001 sPt=1.5;
2002 rPt[rGoodTracks[0]]=sPt;
2003 rEta[rGoodTracks[0]]=0;
2004 rPhi[rGoodTracks[0]]=sPhi;
2005 rCharge[rGoodTracks[0]]=1;
2006 rEff[rGoodTracks[0]]=1;
2007 rV2[rGoodTracks[0]]=v2;
2008 rV3[rGoodTracks[0]]=v3;
2009 rV4[rGoodTracks[0]]=v4;
2010 rNPtAssoc3[rGoodTracks[0]]=0;
2011 for(int apt3=0;apt3<fNAPt3Bins;apt3++){
2012 if(sPt<fPtAssoc3Array2[apt3]&&sPt>=fPtAssoc3Array1[apt3]){
2013 rPtAssoc3[rGoodTracks[0]][rNPtAssoc3[rGoodTracks[0]]]=apt3;
2014 rNPtAssoc3[rGoodTracks[0]]++;
2015 }
2016 }
2017 rGoodTracks[0]++;
2018 }
2019
2020
2021 }//njet
2022
2023 return lead;
2024}
2025
3b7aa4ba 2026//------------------------------------------------------------
2027void AliAnalysisTaskDiHadron::Exec(Option_t *)
2028{
69088c96 2029 //Main executable
2030 if(fDEBUG)Printf("Exec");
3b7aa4ba 2031
69088c96 2032 const int nTPtBins=fNTPtBins;
2033 const int nCentBins=fNCentBins;
3b7aa4ba 2034 for(int ievent=0;ievent<=1;ievent++){
13171d17 2035 /* removed this cross check b/c not coverity complient
d514944f 2036 if((!fESD&&!fAOD)&&ievent==0){
2037 if(fDEBUG)Printf("Error: fESD not found");
3b7aa4ba 2038 break;
2039 }
13171d17 2040 */
d514944f 2041 if(!fMC&&ievent==1){
3b7aa4ba 2042 break;
2043 }
d514944f 2044 // Printf("fSimulate %d",fSimulate);
2045 if(fSimulate==1&&ievent==1) break;
2046 if(ievent==1&&!fMCHistos)break;//break out if MC event and we don't have fill of those set
2047 //Secondary check
2048 if(ievent==0){
2049 if(!fAODData){
2050 if(fESD->GetNumberOfTracks()<=0){
2051 if(fDEBUG)Printf("Error: no tracks");
2052 break;
2053 }
2054 }
2055 else{
4640c275 2056 if(fAOD->GetNumberOfTracks()<=0){
d514944f 2057 if(fDEBUG)Printf("Error: no tracks");
2058 break;
2059 }
2060 }
2061 }
2062 //The previous check doesn't seem to work as a fMC is bad not NULL
2063 if(ievent==1){
2064 if(fMC->GetNumberOfTracks()<=0){
2065 if(fDEBUG)Printf("<=0 MCTracks");
2066 break;
2067 }
3b7aa4ba 2068 }
3b7aa4ba 2069
d514944f 2070 //Check for Trigger only on real data
2071 if(!fMC){
2072 if(!fAODData){
2073 if(!CheckTrigger(fESD)) break;
2074 }
2075 else{
2076 if(!CheckTriggerAOD(fAOD)) break;
2077 }
3b7aa4ba 2078 }
3b7aa4ba 2079
d514944f 2080 //I'll only cut on the reconstructed vertex since these are the events that will be used
2081 int vertexBin;
2082 if(!fAODData)vertexBin=CheckVertex(fESD);
2083 else vertexBin=CheckVertexAOD(fAOD);
2084 if(vertexBin<0)break;
2085
2086
2087
2088 Int_t nGoodTracks[2]={0,0}, nTriggers[nTPtBins][nCentBins][2];
2089 Int_t nTrack;
2090 if(!ievent){
2091 if(!fAODData)nTrack=fESD->GetNumberOfTracks();
2092 else nTrack=fAOD->GetNumberOfTracks();
2093 }
2094 else nTrack=fMC->Stack()->GetNtrack();
13171d17 2095 if(fSimulate==1||fSimulate==3)nTrack=int(10*(fSimNBgPart+10*fSimNJetPart));
2096 if(fSimulate==2){
2097 if(!fAODData)nTrack=fESD->GetNumberOfTracks();
2098 else nTrack=fAOD->GetNumberOfTracks();
2099 }
d514944f 2100 gRandom->SetSeed(time(0)+gSystem->GetPid());
2101 Float_t tdPhi, tdEta, tXE;
2102 Float_t tdPhi2, tdEta2;
2103 Float_t V2_T1, V2_T2, V3_T1, V3_T2, V4_T1, V4_T2, V42_T12, V42_1T2, V42_2T1, V2V2V4, V2, V3, V4;
2104 Float_t V2_A, V3_A, V4_A;
2105 ftPhi=new Float_t [nTrack];
2106 ftEta=new Float_t [nTrack];
2107 ftPt=new Float_t [nTrack];
2108 ftCharge=new Short_t [nTrack];
2109 ftEff=new Float_t [nTrack];
2110 ftV2=new Float_t [nTrack];
2111 ftV3=new Float_t [nTrack];
2112 ftV4=new Float_t [nTrack];
2113 ftPtAssoc3=new Int_t *[nTrack];
2114 for(int i=0;i<nTrack;i++){
2115 ftPtAssoc3[i]=new Int_t [10];
3b7aa4ba 2116 }
d514944f 2117 ftNPtAssoc3=new Int_t [nTrack];
2118 Short_t sign;
2119 //trigger particle arrays
3b7aa4ba 2120 for(int i=0;i<fNTPtBins;i++){
d514944f 2121 for(int c=0;c<fNCentBins;c++){
2122 nTriggers[i][c][ievent]=0;
2123 }
2124 }
2125 //Int_t tMult=fESD->GetMultiplicity()->GetNumberOfTracklets();//I think this is the correct multiplicity to use
2126
2127 //AliESDVZERO* esdV0 = fESD->GetVZEROData();
2128 Float_t tMult=0;
2129 if(!fAODData){
2130 if(fCentPercent) tMult=fESD->GetCentrality()->GetCentralityPercentile("V0M");
2131 else tMult=fESD->GetVZEROData()->GetMTotV0A()+fESD->GetVZEROData()->GetMTotV0C();
2132 }
2133 else{
0a918d8d 2134 AliAODHeader *tHeader=dynamic_cast<AliAODHeader*>(fAOD->GetHeader());
2135 if(!tHeader) AliFatal("Not a standard AOD");
d514944f 2136 tMult=tHeader->GetCentrality();
2137 }
2138
2139 if(fDEBUG)Printf("Mult/Cent%6.1f",tMult);
2140
2141 //Decide what multiplicy bins are filled with this event, note set to max of 4 overlapping bins as I didn't think more then 2 overlapping bins likely at one time, easliy changed
2142 Int_t multArray[4]={0,0,0,0};
2143 Int_t maxArray=0;
2144
2145 for(int imult=0;imult<fNCentBins;imult++){
2146 if(tMult>=fCentArrayMin[imult]&&tMult<fCentArrayMax[imult]){
2147 multArray[maxArray]=imult;
2148 maxArray++;
2149 }
2150 }
2151 if(maxArray==0)break;
2152 //Printf("maxArray%d Mult%1.2f",maxArray,tMult);
2153 if(fDEBUG)Printf("maxArray%d",maxArray);
2154 //Set Efficiency and flow for the centrality bin (lowest bin used in array if multiple overlap)
2155 for(int ipar=0;ipar<fNFitLowParam;ipar++){
2156 fFitLow->SetParameter(ipar,fFitLowParam[multArray[0]*fNFitLowParam+ipar]);
2157 }
2158 for(int ipar=0;ipar<fNFitHighParam;ipar++){
2159 fFitHigh->SetParameter(ipar,fFitHighParam[multArray[0]*fNFitHighParam+ipar]);
2160 }
2161 for(int ipar=0;ipar<fNFitLowParamV2;ipar++){
2162 fFitLowV2->SetParameter(ipar,fFitLowParamV2[multArray[0]*fNFitLowParamV2+ipar]);
2163 }
2164 for(int ipar=0;ipar<fNFitHighParamV2;ipar++){
2165 fFitHighV2->SetParameter(ipar,fFitHighParamV2[multArray[0]*fNFitHighParamV2+ipar]);
2166 }
2167 for(int ipar=0;ipar<fNFitLowParamV3;ipar++){
2168 fFitLowV3->SetParameter(ipar,fFitLowParamV3[multArray[0]*fNFitLowParamV3+ipar]);
2169 }
2170 for(int ipar=0;ipar<fNFitHighParamV3;ipar++){
2171 fFitHighV3->SetParameter(ipar,fFitHighParamV3[multArray[0]*fNFitHighParamV2+ipar]);
2172 }
2173 for(int ipar=0;ipar<fNFitLowParamV4;ipar++){
2174 fFitLowV4->SetParameter(ipar,fFitLowParamV4[multArray[0]*fNFitLowParamV4+ipar]);
2175 }
2176 for(int ipar=0;ipar<fNFitHighParamV4;ipar++){
2177 fFitHighV4->SetParameter(ipar,fFitHighParamV4[multArray[0]*fNFitHighParamV4+ipar]);
2178 }
2179 fHistMult[ievent]->Fill(tMult);
2180 for(int c=0;c<maxArray;c++){fHistNEvents[multArray[c]][ievent]->Fill(0);}//count the number of events used
2181 Int_t leadPart=-1;
13171d17 2182
d514944f 2183 //returns arrays filled up to nGoodTracks with tracks passing cuts
13171d17 2184 if(ievent)leadPart=TrackCutsMC(fMC,ftPt,ftEta,ftPhi,ftCharge,ftEff,ftV2,ftV3,ftV4,ftPtAssoc3,ftNPtAssoc3,nGoodTracks);
2185 else if(fSimulate!=1||fSimulate!=3){
2186 if(!fAODData)leadPart=TrackCuts(fESD,ftPt,ftEta,ftPhi,ftCharge,ftEff,ftV2,ftV3,ftV4,ftPtAssoc3,ftNPtAssoc3,nGoodTracks);
2187 else leadPart=TrackCutsAOD(fAOD,ftPt,ftEta,ftPhi,ftCharge,ftEff,ftV2,ftV3,ftV4,ftPtAssoc3,ftNPtAssoc3,nGoodTracks);
2188 if(fSimulate==2)CalcFlow(ftPt,ftEta,ftPhi,nGoodTracks,leadPart);
2189 }
2190
d514944f 2191 for(int nSimEvents=0;nSimEvents<=(fSimulate*fSimNEvents);nSimEvents++){//only 1 loop if not simulation
2192 //Printf("nSimEvents %d",nSimEvents);
2193 if(fSimulate)leadPart=TrackCutsSim(ftPt,ftEta,ftPhi,ftCharge,ftEff,ftV2,ftV3,ftV4,ftPtAssoc3,ftNPtAssoc3,nGoodTracks);
13171d17 2194
d514944f 2195 //Printf("nGoodTracks %d",nGoodTracks[0]);
2196 int nearEta=0,NearXE=0;
2197 int nearEta2=0;
2198
2199 if(fDEBUG)Printf("Track Loop");
2200 for(int iTrack=0;iTrack<nGoodTracks[ievent];iTrack++){
2201 if(fDEBUG)Printf("Track%d Pt%f",iTrack,ftPt[iTrack]);
2202 //if(ftPhi[iTrack]<fdPhiMin)ftPhi[iTrack]+=2*fPi;
2203 //if(ftPhi[iTrack]>fdPhiMax)ftPhi[iTrack]-=2*fPi;
69088c96 2204 for(int c=0;c<maxArray;c++){
d514944f 2205 // Printf("c%d mult%d",c,multArray[c]);
2206 fHistPt[multArray[c]][ievent]->Fill(ftPt[iTrack],ftEff[iTrack]);
2207 fHistPtEff[multArray[c]][ievent]->Fill(ftPt[iTrack]);
2208 fHistPhi[multArray[c]][ievent]->Fill(ftPhi[iTrack],ftPt[iTrack],ftEff[iTrack]);
2209 fHistPhiPt[multArray[c]][ievent]->Fill(ftPhi[iTrack],ftPt[iTrack],ftPt[iTrack]*ftEff[iTrack]);
2210 fHistEta[multArray[c]][ievent]->Fill(ftEta[iTrack],ftPt[iTrack],ftEff[iTrack]);
2211 fHistEtaPt[multArray[c]][ievent]->Fill(ftEta[iTrack],ftPt[iTrack],ftPt[iTrack]*ftEff[iTrack]);
2212 fHistPhiEta[multArray[c]][ievent]->Fill(ftPhi[iTrack],ftEta[iTrack],ftPt[iTrack],ftEff[iTrack]);
2213 fHistPhiEtaPt[multArray[c]][ievent]->Fill(ftPhi[iTrack],ftEta[iTrack],ftPt[iTrack],ftPt[iTrack]*ftEff[iTrack]);
3b7aa4ba 2214 }
d514944f 2215 for(int i=0;i<fNTPtBins;i++){
2216 if(ftPt[iTrack]>fPtTrigArray[i]&&ftPt[iTrack]<=fPtTrigArray[i+1]&&fabs(ftEta[iTrack])<fTrigEtaCut){
2217 if(fDEBUG)Printf("In %fpt%f",fPtTrigArray[i],fPtTrigArray[i+1]);
2218 fHistMultTrig[i][ievent]->Fill(tMult);
2219 for(int c=0;c<maxArray;c++){
2220 nTriggers[i][multArray[c]][ievent]++;
2221 fHistNTrigger[multArray[c]][ievent]->Fill(i,ftEff[iTrack]);
2222 fHistNTriggerPt[multArray[c]][ievent]->Fill(i,ftPt[iTrack]*ftEff[iTrack]);
3b7aa4ba 2223 }
d514944f 2224
2225 if(fDEBUG)Printf("Assiciated Particle Loop");
2226 // Printf("GoodTracks %d Cent%d",nGoodTracks[ievent],multArray[0]);
2227 for(int iTrack2=0;iTrack2<nGoodTracks[ievent];iTrack2++){
2228 if(iTrack==iTrack2) continue;
2229 if(ftPt[iTrack2]>ftPt[iTrack])continue;
2230 tdPhi=ftPhi[iTrack]-ftPhi[iTrack2];
2231 if(tdPhi<-fPi)tdPhi+=2*fPi;
2232 if(tdPhi>fPi)tdPhi-=2*fPi;
2233 if(fabs(tdPhi)<fNearPhiCut)nearEta=1;
2234 else nearEta=0;
2235 if(fabs(tdPhi)<fXECut)NearXE=1;
2236 else NearXE=0;
2237 if(fabs(tdPhi)<(fPi/2))tdEta=ftEta[iTrack]-ftEta[iTrack2];
2238 else tdEta=ftEta[iTrack]+ftEta[iTrack2];
2239 if(tdPhi<fdPhiMin)tdPhi+=2*fPi;
2240 if(tdPhi>fdPhiMax)tdPhi-=2*fPi;
2241 if((ftCharge[iTrack]<0&&ftCharge[iTrack2]<0)||(ftCharge[iTrack]>0&&ftCharge[iTrack2]>0))sign=1;
2242 else sign=2;
2243 if(fDEBUG) Printf("dPhi %f dEta %f",tdPhi,tdEta);
2244 for(int c=0;c<maxArray;c++){//loop over multiplicity bins
2245 fHistPtTrig[i][multArray[c]][ievent]->Fill(ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2246 fHistPhiTrig[i][multArray[c]][ievent]->Fill(ftPhi[iTrack2],ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2247 fHistPhiTrigPt[i][multArray[c]][ievent]->Fill(ftPhi[iTrack2],ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2248 fHistEtaTrig[i][multArray[c]][ievent]->Fill(ftEta[iTrack2],ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2249 fHistEtaTrigPt[i][multArray[c]][ievent]->Fill(ftEta[iTrack2],ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2250
2251 fHistPhiEtaTrig[i][multArray[c]][ievent]->Fill(ftPhi[iTrack2],ftEta[iTrack2],ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2252 fHistPhiEtaTrigPt[i][multArray[c]][ievent]->Fill(ftPhi[iTrack2],ftEta[iTrack2],ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2253 fHistDeltaPhi[i][multArray[c]][0][ievent]->Fill(tdPhi,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2254 fHistDeltaPhiPt[i][multArray[c]][0][ievent]->Fill(tdPhi,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2255 fHistDeltaPhi[i][multArray[c]][sign][ievent]->Fill(tdPhi,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2256 fHistDeltaPhiPt[i][multArray[c]][sign][ievent]->Fill(tdPhi,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2257
69088c96 2258 if(nearEta){
d514944f 2259 fHistDeltaEtaN[i][multArray[c]][0][ievent]->Fill(tdEta,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2260 fHistDeltaEtaNPt[i][multArray[c]][0][ievent]->Fill(tdEta,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2261 fHistDeltaEtaN[i][multArray[c]][sign][ievent]->Fill(tdEta,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2262 fHistDeltaEtaNPt[i][multArray[c]][sign][ievent]->Fill(tdEta,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
3b7aa4ba 2263 }
2264 else{
d514944f 2265 fHistDeltaEtaA[i][multArray[c]][0][ievent]->Fill(tdEta,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2266 fHistDeltaEtaAPt[i][multArray[c]][0][ievent]->Fill(tdEta,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2267 fHistDeltaEtaA[i][multArray[c]][sign][ievent]->Fill(tdEta,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2268 fHistDeltaEtaAPt[i][multArray[c]][sign][ievent]->Fill(tdEta,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2269 }
2270 fHistDeltaPhiEta[i][multArray[c]][ievent]->Fill(tdPhi,tdEta,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2271 fHistDeltaPhiEtaPt[i][multArray[c]][ievent]->Fill(tdPhi,tdEta,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2272
2273 //only fill these if trigger particle is the leading particle
69088c96 2274 if(iTrack==leadPart){
3b7aa4ba 2275 if(NearXE){
d514944f 2276 tXE=ftPt[iTrack2]*cos(tdPhi)/ftPt[iTrack];
2277 fHistXEN[i][multArray[c]][ievent]->Fill(tXE,ftEff[iTrack2]*ftEff[iTrack]);
3b7aa4ba 2278 }
2279 else{
d514944f 2280 tXE=ftPt[iTrack2]*cos(tdPhi+fPi)/ftPt[iTrack];
2281 fHistXEA[i][multArray[c]][ievent]->Fill(tXE,ftEff[iTrack2]*ftEff[iTrack]);
3b7aa4ba 2282 }
2283 }
d514944f 2284
2285 }//Centrality loop (c)
2286
2287 //3-particle Correlations
2288 for(int iTrack3=0;iTrack3<nGoodTracks[ievent];iTrack3++){
2289 if(iTrack2==iTrack3)continue;
2290 if(ftPt[iTrack3]>ftPt[iTrack])continue;
2291 tdPhi2=ftPhi[iTrack]-ftPhi[iTrack3];
3b7aa4ba 2292 if(tdPhi2<-fPi)tdPhi2+=2*fPi;
2293 if(tdPhi2>fPi)tdPhi2-=2*fPi;
d514944f 2294 if(fabs(tdPhi2)<fNearPhiCut&&nearEta==1)nearEta2=1;
69088c96 2295 else nearEta2=0;
d514944f 2296 //if(fabs(tdPhi)<fXECut)NearXE=1;
2297 //else NearXE=0;
2298 if(fabs(tdPhi2)<(fPi/2))tdEta2=ftEta[iTrack]-ftEta[iTrack3];
2299 else tdEta2=ftEta[iTrack]+ftEta[iTrack3];
2300 if(tdPhi2<fdPhiMin)tdPhi2+=2*fPi;
3b7aa4ba 2301 if(tdPhi2>fdPhiMax)tdPhi2-=2*fPi;
d514944f 2302 // if((ftCharge[iTrack]<0&&ftCharge[iTrack2]<0)||(ftCharge[iTrack]>0&&ftCharge[iTrack2]>0))sign=1;
2303 if((ftCharge[iTrack]<0&&ftCharge[iTrack2]<0&&ftCharge[iTrack3]<0)||(ftCharge[iTrack]>0&&ftCharge[iTrack2]>0&&ftCharge[iTrack3]>0))sign=1;
2304 else if((ftCharge[iTrack3]<0&&ftCharge[iTrack2]<0)||(ftCharge[iTrack3]>0&&ftCharge[iTrack2]>0))sign=2;
69088c96 2305 else sign=3;
d514944f 2306 for(int e=0;e<ftNPtAssoc3[iTrack2];e++){//check associated pT bin
2307 for(int f=0;f<ftNPtAssoc3[iTrack3];f++){
2308 if(ftPtAssoc3[iTrack2][e]==ftPtAssoc3[iTrack3][f]){
2309 for(int c=0;c<maxArray;c++){//loop over multiplicity bins
2310 fHistDeltaPhiPhi[i][ftPtAssoc3[iTrack2][e]][multArray[c]][0][ievent]->Fill(tdPhi,tdPhi2,ftEff[iTrack2]*ftEff[iTrack3]*ftEff[iTrack]);
2311 fHistDeltaPhiPhi[i][ftPtAssoc3[iTrack2][e]][multArray[c]][sign][ievent]->Fill(tdPhi2,tdPhi,ftEff[iTrack2]*ftEff[iTrack3]*ftEff[iTrack]);
2312
2313
2314 if(nearEta2){
2315 fHistDeltaEtaEta[i][ftPtAssoc3[iTrack2][e]][multArray[c]][0][ievent]->Fill(tdEta,tdEta2,ftEff[iTrack2]*ftEff[iTrack3]*ftEff[iTrack]);
2316 fHistDeltaEtaEta[i][ftPtAssoc3[iTrack2][e]][multArray[c]][sign][ievent]->Fill(tdEta,tdEta2,ftEff[iTrack2]*ftEff[iTrack3]*ftEff[iTrack]);
2317 }
2318 }//multiplicity loop (c)
3b7aa4ba 2319 }
2320 }
d514944f 2321 }//track checking loops
2322 }//iTrack3
2323 }//iTrack2 (associated track loop)
2324
2325 if(fDEBUG)Printf("Mixed Event Loop");
2326 for(int c=0;c<maxArray;c++){
2327 //Printf("c%d mult%d",c,multArray[c]);
2328 int d=multArray[c];//Centrality bin we are in
2329 if(fMixEnd[d][vertexBin][ievent]>2){//check if there are any mixed events for this bin, require 2 for soft-soft mixing
2330 for(int imix=0;imix<fMixEnd[d][vertexBin][ievent];imix++){//loop over the stored mixed events
2331 fHistNMix[d][ievent]->Fill(i);
2332 //Printf("GoodTracksMixed %d Cent%d fMixEnd%d",fMixTrack[imix][d][vertexBin][ievent],d,fMixEnd[d][vertexBin][ievent]);
2333 for(int iTrack2=0;iTrack2<fMixTrack[imix][d][vertexBin][ievent];iTrack2++){
2334 if(ftPt[iTrack]<fMPt[imix][d][vertexBin][ievent][iTrack2])continue;
2335 tdPhi=ftPhi[iTrack]-fMPhi[imix][d][vertexBin][ievent][iTrack2];
2336 if(tdPhi<-fPi)tdPhi+=2*fPi;
2337 if(tdPhi>fPi)tdPhi-=2*fPi;
2338 if(fabs(tdPhi)<fNearPhiCut)nearEta=1;
2339 else nearEta=0;
2340 if(fabs(tdPhi)<fXECut)NearXE=1;
2341 else NearXE=0;
2342 if(fabs(tdPhi)<(fPi/2))tdEta=ftEta[iTrack]-fMEta[imix][d][vertexBin][ievent][iTrack2];
2343 else tdEta=ftEta[iTrack]+fMEta[imix][d][vertexBin][ievent][iTrack2];
2344 if(tdPhi<fdPhiMin)tdPhi+=2*fPi;
2345 if(tdPhi>fdPhiMax)tdPhi-=2*fPi;
2346 if((ftCharge[iTrack]<0&&fMCharge[imix][d][vertexBin][ievent][iTrack2]<0)||(ftCharge[iTrack]>0&&fMCharge[imix][d][vertexBin][ievent][iTrack2]>0))sign=1;
2347 else sign=2;
2348 V2_T1=2*fMV2[imix][d][vertexBin][ievent][iTrack2]*ftV2[iTrack]*cos(2*tdPhi);
2349 V3_T1=2*fMV3[imix][d][vertexBin][ievent][iTrack2]*ftV3[iTrack]*cos(3*tdPhi);
2350 V4_T1=2*fMV4[imix][d][vertexBin][ievent][iTrack2]*ftV4[iTrack]*cos(4*tdPhi);
2351
2352 fHistDeltaPhiMix[i][d][0][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2353 fHistDeltaPhiMixV2[i][d][0][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1);
2354 fHistDeltaPhiMixV3[i][d][0][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1);
2355 fHistDeltaPhiMixV4[i][d][0][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1);
2356 fHistDeltaPhiMixPt[i][d][0][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMPt[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix][d][vertexBin][ievent][iTrack2]);
2357 fHistDeltaPhiMixV2Pt[i][d][0][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1*fMPt[imix][d][vertexBin][ievent][iTrack2]);
2358 fHistDeltaPhiMixV3Pt[i][d][0][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1*fMPt[imix][d][vertexBin][ievent][iTrack2]);
2359 fHistDeltaPhiMixV4Pt[i][d][0][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1*fMPt[imix][d][vertexBin][ievent][iTrack2]);
2360 fHistDeltaPhiMix[i][d][sign][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2361 fHistDeltaPhiMixV2[i][d][sign][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1);
2362 fHistDeltaPhiMixV3[i][d][sign][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1);
2363 fHistDeltaPhiMixV4[i][d][sign][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1);
2364 fHistDeltaPhiMixPt[i][d][sign][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMPt[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix][d][vertexBin][ievent][iTrack2]);
2365 fHistDeltaPhiMixV2Pt[i][d][sign][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1*fMPt[imix][d][vertexBin][ievent][iTrack2]);
2366 fHistDeltaPhiMixV3Pt[i][d][sign][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1*fMPt[imix][d][vertexBin][ievent][iTrack2]);
2367 fHistDeltaPhiMixV4Pt[i][d][sign][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1*fMPt[imix][d][vertexBin][ievent][iTrack2]);
2368
2369 if(nearEta){
2370 fHistDeltaEtaNMix[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2371 fHistDeltaEtaNMixV2[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1);
2372 fHistDeltaEtaNMixV3[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1);
2373 fHistDeltaEtaNMixV4[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1);
2374 fHistDeltaEtaNMixPt[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMPt[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix][d][vertexBin][ievent][iTrack2]);
2375 fHistDeltaEtaNMix[i][d][sign][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2376 fHistDeltaEtaNMixPt[i][d][sign][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMPt[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix][d][vertexBin][ievent][iTrack2]);
2377 fHistDeltaEtaNMixV2Pt[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1*fMPt[imix][d][vertexBin][ievent][iTrack2]);
2378 fHistDeltaEtaNMixV3Pt[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1*fMPt[imix][d][vertexBin][ievent][iTrack2]);
2379 fHistDeltaEtaNMixV4Pt[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1*fMPt[imix][d][vertexBin][ievent][iTrack2]);
2380 }
2381 else{
2382 fHistDeltaEtaAMix[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2383 fHistDeltaEtaAMixV2[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1);
2384 fHistDeltaEtaAMixV3[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1);
2385 fHistDeltaEtaAMixV4[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1);
2386 fHistDeltaEtaAMixPt[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMPt[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix][d][vertexBin][ievent][iTrack2]);
2387 fHistDeltaEtaAMix[i][d][sign][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2388 fHistDeltaEtaAMixPt[i][d][sign][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMPt[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix][d][vertexBin][ievent][iTrack2]);
2389 fHistDeltaEtaAMixV2Pt[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1*fMPt[imix][d][vertexBin][ievent][iTrack2]);
2390 fHistDeltaEtaAMixV3Pt[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1*fMPt[imix][d][vertexBin][ievent][iTrack2]);
2391 fHistDeltaEtaAMixV4Pt[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1*fMPt[imix][d][vertexBin][ievent][iTrack2]);
2392 }
2393
2394 fHistDeltaPhiEtaMix[i][d][ievent]->Fill(tdPhi,tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2395 fHistDeltaPhiEtaMixV2[i][d][ievent]->Fill(tdPhi,tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1);
2396 fHistDeltaPhiEtaMixV3[i][d][ievent]->Fill(tdPhi,tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1);
2397 fHistDeltaPhiEtaMixV4[i][d][ievent]->Fill(tdPhi,tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1);
2398 fHistDeltaPhiEtaMixPt[i][d][ievent]->Fill(tdPhi,tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMPt[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix][d][vertexBin][ievent][iTrack2]);
2399
2400 if(iTrack==leadPart){
2401 if(NearXE){
2402 tXE=fMPt[imix][d][vertexBin][ievent][iTrack2]*cos(tdPhi)/ftPt[iTrack];
2403 fHistXENMix[i][d][ievent]->Fill(tXE,fMEff[imix][d][vertexBin][ievent][iTrack2]);
3b7aa4ba 2404 }
d514944f 2405 else{
2406 tXE=fMPt[imix][d][vertexBin][ievent][iTrack2]*cos(tdPhi+fPi)/ftPt[iTrack];
2407 fHistXEAMix[i][multArray[c]][ievent]->Fill(tXE,fMEff[imix][d][vertexBin][ievent][iTrack2]);
2408 }
2409 }
2410
2411 //3-particle correlation soft-soft term (both associated from the same event)
2412 for(int iTrack3=0;iTrack3<fMixTrack[imix][d][vertexBin][ievent];iTrack3++){
2413 if(iTrack3==iTrack2)continue;
2414 if(ftPt[iTrack]<fMPt[imix][d][vertexBin][ievent][iTrack3])continue;
2415 tdPhi2=ftPhi[iTrack]-fMPhi[imix][d][vertexBin][ievent][iTrack3];
2416 if(tdPhi2<-fPi)tdPhi2+=2*fPi;
2417 if(tdPhi2>fPi)tdPhi2-=2*fPi;
2418 if(fabs(tdPhi2)<fNearPhiCut&&nearEta)nearEta2=1;
2419 else nearEta2=0;
2420 if(fabs(tdPhi2)<(fPi/2))tdEta2=ftEta[iTrack]-fMEta[imix][d][vertexBin][ievent][iTrack3];
2421 else tdEta2=ftEta[iTrack]+fMEta[imix][d][vertexBin][ievent][iTrack3];
2422 if(tdPhi2<fdPhiMin)tdPhi2+=2*fPi;
2423 if(tdPhi2>fdPhiMax)tdPhi2-=2*fPi;
2424
2425 if((ftCharge[iTrack]<0&&fMCharge[imix][d][vertexBin][ievent][iTrack2]<0&&fMCharge[imix][d][vertexBin][ievent][iTrack3]<0)||(ftCharge[iTrack]>0&&fMCharge[imix][d][vertexBin][ievent][iTrack2]>0&&fMCharge[imix][d][vertexBin][ievent][iTrack3]>0))sign=1;
2426 else if((fMCharge[imix][d][vertexBin][ievent][iTrack3]<0&&fMCharge[imix][d][vertexBin][ievent][iTrack2]<0)||(fMCharge[imix][d][vertexBin][ievent][iTrack3]>0&&fMCharge[imix][d][vertexBin][ievent][iTrack2]>0))sign=2;
2427 else sign=3;
2428 for(int e=0;e<fMNPtAssoc3[imix][d][vertexBin][ievent][iTrack2];e++){//check associated pT bin
2429 for(int f=0;f<fMNPtAssoc3[imix][d][vertexBin][ievent][iTrack3];f++){
2430 if(fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]==fMPtAssoc3[imix][d][vertexBin][ievent][f][iTrack3]){
2431 fHistDeltaPhiPhiSS[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix][d][vertexBin][ievent][iTrack3]);
2432 fHistDeltaPhiPhiSS[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix][d][vertexBin][ievent][iTrack3]);
2433
2434 if(nearEta2){
2435 fHistDeltaEtaEtaSS[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdEta,tdEta2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix][d][vertexBin][ievent][iTrack3]);
2436 fHistDeltaEtaEtaSS[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdEta,tdEta2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix][d][vertexBin][ievent][iTrack3]);
2437 }//near-side
2438 }
2439 }
2440 }//associated pt bin
2441 }//iTrack3
2442
2443 //3-particle mixed event (associated from different events)
2444 int imix2=imix+1;
2445 if(imix2>=fMixEnd[d][vertexBin][ievent])imix2=0;
2446 if(imix2==imix)continue;
2447 for(int iTrack3=0;iTrack3<fMixTrack[imix2][d][vertexBin][ievent];iTrack3++){
2448 if(ftPt[iTrack]<fMPt[imix2][d][vertexBin][ievent][iTrack3])continue;
2449 tdPhi2=ftPhi[iTrack]-fMPhi[imix2][d][vertexBin][ievent][iTrack3];
2450 if(tdPhi2<-fPi)tdPhi2+=2*fPi;
2451 if(tdPhi2>fPi)tdPhi2-=2*fPi;
2452 if(fabs(tdPhi2)<fNearPhiCut&&nearEta)nearEta2=1;
2453 else nearEta2=0;
2454 if(fabs(tdPhi2)<(fPi/2))tdEta2=ftEta[iTrack]-fMEta[imix2][d][vertexBin][ievent][iTrack3];
2455 else tdEta2=ftEta[iTrack]+fMEta[imix2][d][vertexBin][ievent][iTrack3];
2456 if(tdPhi2<fdPhiMin)tdPhi2+=2*fPi;
2457 if(tdPhi2>fdPhiMax)tdPhi2-=2*fPi;
2458 V2_T2=2*ftV2[iTrack]*fMV2[imix2][d][vertexBin][ievent][iTrack3]*cos(2*tdPhi2);
2459 V3_T2=2*ftV3[iTrack]*fMV3[imix2][d][vertexBin][ievent][iTrack3]*cos(3*tdPhi2);
2460 V4_T2=2*ftV4[iTrack]*fMV4[imix2][d][vertexBin][ievent][iTrack3]*cos(4*tdPhi2);
2461 V42_T12=2*ftV4[iTrack]*fMV2[imix2][d][vertexBin][ievent][iTrack3]*fMV2[imix][d][vertexBin][ievent][iTrack2]*cos(2*tdPhi+2*tdPhi2);
2462 V42_1T2=2*fMV4[imix][d][vertexBin][ievent][iTrack2]*ftV2[iTrack]*fMV2[imix2][d][vertexBin][ievent][iTrack3]*cos(4*tdPhi-2*tdPhi2);
2463 V42_2T1=2*fMV4[imix2][d][vertexBin][ievent][iTrack3]*ftV2[iTrack]*fMV2[imix][d][vertexBin][ievent][iTrack2]*cos(4*tdPhi2-2*tdPhi);
2464 V2_A=2*fMV2[imix2][d][vertexBin][ievent][iTrack3]*fMV2[imix][d][vertexBin][ievent][iTrack2]*cos(2*(tdPhi-tdPhi2));
2465 V3_A=2*fMV3[imix2][d][vertexBin][ievent][iTrack3]*fMV3[imix][d][vertexBin][ievent][iTrack2]*cos(3*(tdPhi-tdPhi2));
2466 V4_A=2*fMV4[imix2][d][vertexBin][ievent][iTrack3]*fMV4[imix][d][vertexBin][ievent][iTrack2]*cos(4*(tdPhi-tdPhi2));
2467
2468 V2=V2_T1+V2_T2;
2469 V3=V3_T1+V3_T2;
2470 V4=V4_T1+V4_T2;
2471 V2V2V4=V42_T12+V42_1T2+V42_2T1;
2472
2473 if((ftCharge[iTrack]<0&&fMCharge[imix][d][vertexBin][ievent][iTrack2]<0&&fMCharge[imix2][d][vertexBin][ievent][iTrack3]<0)||(ftCharge[iTrack]>0&&fMCharge[imix][d][vertexBin][ievent][iTrack2]>0&&fMCharge[imix2][d][vertexBin][ievent][iTrack3]>0))sign=1;
2474 else if((fMCharge[imix2][d][vertexBin][ievent][iTrack3]<0&&fMCharge[imix][d][vertexBin][ievent][iTrack2]<0)||(fMCharge[imix2][d][vertexBin][ievent][iTrack3]>0&&fMCharge[imix][d][vertexBin][ievent][iTrack2]>0))sign=2;
2475 else sign=3;
2476 for(int e=0;e<fMNPtAssoc3[imix][d][vertexBin][ievent][iTrack2];e++){//check associated pT bin
2477 for(int f=0;f<fMNPtAssoc3[imix2][d][vertexBin][ievent][iTrack3];f++){
2478 if(fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]==fMPtAssoc3[imix2][d][vertexBin][ievent][f][iTrack3]){
2479 fHistDeltaPhiPhiMix[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]);
2480 fHistDeltaPhiPhiMix[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]);
2481 fHistDeltaPhiPhiMix[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi2,tdPhi,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]);//free factor of 2 in statistics
2482 fHistDeltaPhiPhiMix[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdPhi2,tdPhi,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]);
2483 //v2
2484 fHistDeltaPhiPhiMixV2[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2);
2485 fHistDeltaPhiPhiMixV2[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2);
2486 fHistDeltaPhiPhiMixV2[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi2,tdPhi,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2);//free factor of 2 in statistics
2487 fHistDeltaPhiPhiMixV2[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdPhi2,tdPhi,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2);
2488 fHistDeltaPhiPhiSSV2[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2_A);
2489 fHistDeltaPhiPhiSSV2[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi2,tdPhi,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2_A);
2490 //v3
2491 fHistDeltaPhiPhiMixV3[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V3);
2492 fHistDeltaPhiPhiMixV3[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V3);
2493 fHistDeltaPhiPhiMixV3[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi2,tdPhi,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V3);//free factor of 2 in statistics
2494 fHistDeltaPhiPhiMixV3[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdPhi2,tdPhi,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V3);
2495 fHistDeltaPhiPhiSSV3[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V3_A);
2496 fHistDeltaPhiPhiSSV3[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi2,tdPhi,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V3_A);
2497 //v4
2498 fHistDeltaPhiPhiMixV4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V4);
2499 fHistDeltaPhiPhiMixV4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V4);
2500 fHistDeltaPhiPhiMixV4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi2,tdPhi,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V4);//free factor of 2 in statistics
2501 fHistDeltaPhiPhiMixV4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdPhi2,tdPhi,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V4);
2502 fHistDeltaPhiPhiSSV4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V4_A);
2503 fHistDeltaPhiPhiSSV4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi2,tdPhi,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V4_A);
2504 //v2v2v4
2505 fHistDeltaPhiPhiMixV2V2V4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2V2V4);
2506 fHistDeltaPhiPhiMixV2V2V4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdPhi,tdPhi2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2V2V4);
2507 fHistDeltaPhiPhiMixV2V2V4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdPhi2,tdPhi,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2V2V4);//free factor of 2 in statistics
2508 fHistDeltaPhiPhiMixV2V2V4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdPhi2,tdPhi,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2V2V4);
2509
2510 if(nearEta2){
2511 fHistDeltaEtaEtaMix[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdEta,tdEta2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]);
2512 fHistDeltaEtaEtaMix[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdEta,tdEta2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]);
2513 fHistDeltaEtaEtaMix[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdEta2,tdEta,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]);
2514 fHistDeltaEtaEtaMix[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdEta2,tdEta,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]);
2515 //v2
2516 fHistDeltaEtaEtaMixV2[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdEta,tdEta2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2);
2517 fHistDeltaEtaEtaMixV2[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdEta,tdEta2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2);
2518 fHistDeltaEtaEtaMixV2[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdEta2,tdEta,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2);
2519 fHistDeltaEtaEtaMixV2[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdEta2,tdEta,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2);
2520 //v3
2521 fHistDeltaEtaEtaMixV3[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdEta,tdEta2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V3);
2522 fHistDeltaEtaEtaMixV3[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdEta,tdEta2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V3);
2523 fHistDeltaEtaEtaMixV3[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdEta2,tdEta,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V3);
2524 fHistDeltaEtaEtaMixV3[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdEta2,tdEta,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V3);
2525 //v4
2526 fHistDeltaEtaEtaMixV4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdEta,tdEta2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V4);
2527 fHistDeltaEtaEtaMixV4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdEta,tdEta2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V4);
2528 fHistDeltaEtaEtaMixV4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdEta2,tdEta,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V4);
2529 fHistDeltaEtaEtaMixV4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdEta2,tdEta,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V4);
2530 //v2v2v4
2531 fHistDeltaEtaEtaMixV2V2V4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdEta,tdEta2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2V2V4);
2532 fHistDeltaEtaEtaMixV2V2V4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdEta,tdEta2,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2V2V4);
2533 fHistDeltaEtaEtaMixV2V2V4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][0][ievent]->Fill(tdEta2,tdEta,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2V2V4);
2534 fHistDeltaEtaEtaMixV2V2V4[i][fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]][d][sign][ievent]->Fill(tdEta2,tdEta,fMEff[imix][d][vertexBin][ievent][iTrack2]*fMEff[imix2][d][vertexBin][ievent][iTrack3]*V2V2V4);
2535
2536 }//near-side
2537 }
2538 }
2539 }//associated pt bin
2540 }//iTrack3
2541 }//iTrack2
2542 }//imix
2543 }//fMixEnd
2544 }//Centrality bins (c)
2545 }//pt trig cuts
2546 }//i Pt Trig
2547 }//itrack
3b7aa4ba 2548
d514944f 2549 //now store this event for mixing (using these dynamic arrays to save memory)
2550 if(fDEBUG)Printf("Store Event For Mixing");
2551 for(int c=0;c<maxArray;c++){//loops over centrality bins
2552 int d=multArray[c];//too many nested arrays looked confusing d=which centrality bin
2553 if(fMixEnd[d][vertexBin][ievent]<=fNMix)fMixEnd[d][vertexBin][ievent]++;
2554 if(fMixPointer[d][vertexBin][ievent]<(fNMix-1)&&fMixEnd[d][vertexBin][ievent]!=1)fMixPointer[d][vertexBin][ievent]++;
2555 else fMixPointer[d][vertexBin][ievent]=0;
2556 int e=fMixPointer[d][vertexBin][ievent];//nested arrays (e is event number in pool)
2557 delete [] fMPt[e][d][vertexBin][ievent];
2558 delete [] fMPhi[e][d][vertexBin][ievent];
2559 delete [] fMEta[e][d][vertexBin][ievent];
2560 delete [] fMCharge[e][d][vertexBin][ievent];
2561 delete [] fMEff[e][d][vertexBin][ievent];
2562 delete [] fMV2[e][d][vertexBin][ievent];
2563 delete [] fMV3[e][d][vertexBin][ievent];
2564 delete [] fMV4[e][d][vertexBin][ievent];
2565 delete [] fMNPtAssoc3[e][d][vertexBin][ievent];
2566 for(int jj=0;jj<10;jj++){
2567 delete [] fMPtAssoc3[e][d][vertexBin][ievent][jj];
2568 }
2569 fMPt[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2570 fMPhi[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2571 fMEta[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2572 fMCharge[e][d][vertexBin][ievent]=new Short_t [nGoodTracks[ievent]];
2573 fMEff[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2574 fMV2[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2575 fMV3[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2576 fMV4[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2577 fMixTrack[e][d][vertexBin][ievent]=nGoodTracks[ievent];
2578 fMNPtAssoc3[e][d][vertexBin][ievent]=new Short_t [nGoodTracks[ievent]];
2579 for(int jj=0;jj<10;jj++){
2580 fMPtAssoc3[e][d][vertexBin][ievent][jj]=new Short_t [nGoodTracks[ievent]];
2581 }
3b7aa4ba 2582
d514944f 2583 for(int iTrack=0;iTrack<nGoodTracks[ievent];iTrack++){
2584 fMPt[e][d][vertexBin][ievent][iTrack]=ftPt[iTrack];
2585 fMPhi[e][d][vertexBin][ievent][iTrack]=ftPhi[iTrack];
2586 fMEta[e][d][vertexBin][ievent][iTrack]=ftEta[iTrack];
2587 fMCharge[e][d][vertexBin][ievent][iTrack]=ftCharge[iTrack];
2588 fMEff[e][d][vertexBin][ievent][iTrack]=ftEff[iTrack];
2589 fMV2[e][d][vertexBin][ievent][iTrack]=ftV2[iTrack];
2590 fMV3[e][d][vertexBin][ievent][iTrack]=ftV3[iTrack];
2591 fMV4[e][d][vertexBin][ievent][iTrack]=ftV4[iTrack];
2592 fMNPtAssoc3[e][d][vertexBin][ievent][iTrack]=ftNPtAssoc3[iTrack];
2593 for(int jj=0;jj<ftNPtAssoc3[iTrack];jj++){
2594 fMPtAssoc3[e][d][vertexBin][ievent][jj][iTrack]=ftPtAssoc3[iTrack][jj];
2595 }
2596 }//iTracks
2597 }//Centrality (c)
2598 } //sim
2599 }//ievent
2600
3b7aa4ba 2601 //track=0;
2602 //track2=0;
d514944f 2603
3b7aa4ba 2604
2605 PostData(0, fOutput);
2606 //get rid of these arrays from memory
69088c96 2607 delete [] ftPhi;
2608 delete [] ftEta;
2609 delete [] ftPt;
2610 delete [] ftCharge;
2611 delete [] ftEff;
d514944f 2612 delete [] ftV2;
2613 delete [] ftV3;
2614 delete [] ftV4;
69088c96 2615 delete [] ftNPtAssoc3;
2616 delete [] ftPtAssoc3;
2617 ftPhi=NULL;
2618 ftEta=NULL;
2619 ftPt=NULL;
2620 ftCharge=NULL;
2621 ftEff=NULL;
d514944f 2622 ftV2=NULL;
2623 ftV3=NULL;
2624 ftV4=NULL;
69088c96 2625 ftNPtAssoc3=NULL;
2626 ftPtAssoc3=NULL;
3b7aa4ba 2627
d514944f 2628 }//Exec
3b7aa4ba 2629
2630//---------------------------------------------------
2631void AliAnalysisTaskDiHadron::Terminate(Option_t *){
69088c96 2632 //Terminates the code, frees up memory
3b7aa4ba 2633 for(int ii=0;ii<fNMix;ii++){
2634 for(int cc=0;cc<fNCentBins;cc++){
2635 for(int vtx=0;vtx<fNVertexBins;vtx++){
2636 for(int jj=0;jj<2;jj++){
2637 delete [] fMPt[ii][cc][vtx][jj];
2638 delete [] fMPhi[ii][cc][vtx][jj];
2639 delete [] fMEta[ii][cc][vtx][jj];
2640 delete [] fMCharge[ii][cc][vtx][jj];
2641 delete [] fMEff[ii][cc][vtx][jj];
d514944f 2642 delete [] fMV2[ii][cc][vtx][jj];
2643 delete [] fMV3[ii][cc][vtx][jj];
2644 delete [] fMV4[ii][cc][vtx][jj];
3b7aa4ba 2645 delete [] fMNPtAssoc3[ii][cc][vtx][jj];
2646 for(int qq=0;qq<10;qq++){
2647 delete [] fMPtAssoc3[ii][cc][vtx][jj][qq];
2648 fMPtAssoc3[ii][cc][vtx][jj][qq]=NULL;
2649 }
2650 fMPt[ii][cc][vtx][jj]=NULL;
2651 fMPhi[ii][cc][vtx][jj]=NULL;
2652 fMEta[ii][cc][vtx][jj]=NULL;
2653 fMCharge[ii][cc][vtx][jj]=NULL;
2654 fMEff[ii][cc][vtx][jj]=NULL;
d514944f 2655 fMV2[ii][cc][vtx][jj]=NULL;
2656 fMV3[ii][cc][vtx][jj]=NULL;
2657 fMV4[ii][cc][vtx][jj]=NULL;
3b7aa4ba 2658 fMNPtAssoc3[ii][cc][vtx][jj]=NULL;
2659
2660 }
2661 }
2662 }
2663 }
0f3a7491 2664 delete [] fFitLowParam;
2665 delete [] fFitHighParam;
2666 delete [] fPtTrigArray;
2667 delete [] fPtAssocArray;
2668 delete [] fPtAssoc3Array1;
2669 delete [] fPtAssoc3Array2;
2670 delete [] fCentArrayMin;
2671 delete [] fCentArrayMax;
2672 delete [] fXEArray;
2673 fFitLowParam=NULL;
2674 fFitHighParam=NULL;
2675 fPtTrigArray=NULL;
2676 fPtAssocArray=NULL;
2677 fPtAssoc3Array1=NULL;
2678 fPtAssoc3Array2=NULL;
2679 fCentArrayMin=NULL;
2680 fCentArrayMax=NULL;
3b7aa4ba 2681 Printf("Terminate AliAnalysisTaskDiHadron");
2682}