]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/DPhi/AliAnalysisTaskDiHadron.cxx
Fixed dependencies
[u/mrichter/AliRoot.git] / PWGCF / Correlations / DPhi / AliAnalysisTaskDiHadron.cxx
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
17 //version: 3.4,  last revised: 2010/08/15
18
19 #include "Riostream.h"
20 #include "TROOT.h"
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"
32 #include "TRandom3.h"
33 #include "TSystem.h"
34
35
36 #include "AliAnalysisTask.h"
37 #include "AliAnalysisTaskSE.h"
38 #include "AliAnalysisManager.h"
39 #include "AliAnalysisTaskSE.h"
40 #include "AliESDEvent.h"
41 #include "AliESDInputHandler.h"
42 #include "AliESDtrack.h"
43 #include "AliAODEvent.h"
44 #include "AliAODHeader.h"
45 #include "AliAODInputHandler.h"
46 #include "AliAODTrack.h"
47 #include "AliMCEvent.h"
48 #include "AliMCEventHandler.h"
49 #include "AliMCParticle.h"
50 #include "AliStack.h"
51 #include "AliESDVertex.h"
52 #include "AliMultiplicity.h"
53 #include "AliESDVZERO.h"
54 #include "TParticle.h"
55 #include "AliCentrality.h"
56
57 //#include "AliHeader.h"
58 //#include "AliGenEventHeader.h"
59
60
61
62 #include "AliAnalysisTaskDiHadron.h"
63
64
65 ClassImp(AliAnalysisTaskDiHadron)
66
67 //----------------------------------------
68 AliAnalysisTaskDiHadron::AliAnalysisTaskDiHadron(const char *name):
69 AliAnalysisTaskSE(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)
70   
71   {
72     //TRandom *gRandom=new TRandom3();
73   
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++){
82         fMixPointer[c][v][jmc]=0;
83         fMixEnd[c][v][jmc]=0;
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;
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;
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   }
99  
100   }
101 //--------------------------------------
102 void 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
104   if(fDEBUG)Printf("Setting Cuts");
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;
124   fTrigIDArray=(char*)TrigIDArray;
125 }
126 //--------------------------------------------------------
127 void AliAnalysisTaskDiHadron::SetOptions(Int_t AODData, Int_t EfficiencyCorr, Int_t ffDEBUG,  Int_t MCHistos){
128 //Sets some options
129   if(fDEBUG) Printf("Setting Options");
130   fAODData=AODData;
131   fEfficiencyCorr=EfficiencyCorr;
132   fDEBUG=ffDEBUG;
133   fMCHistos=MCHistos;
134 }
135 //------------------------------------------------------
136 void 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){
137 //sets up the histogram binning
138   if(fDEBUG)Printf("Setting Binning");
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;
150   fCentPercent=CentPercent;
151   fNAPtBins=NAPtBins;
152   fNAPt3Bins=NAPt3Bins;
153   fNVertexBins=NVertexBins;
154   fNXEBins=NXEBins;
155   fPtTrigArray=new Float_t [fNTPtBins];
156   for(int i=0;i<fNTPtBins;i++)fPtTrigArray[i]=PtTrigArray[i];
157   fPtAssocArray=new Float_t [fNAPtBins];
158   for(int i=0;i<fNAPtBins;i++)fPtAssocArray[i]=PtAssocArray[i];
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];
169  for(int i=0;i<=fNVertexBins;i++)fVertexArray[i]=(2.*i/fNVertexBins-1)*fVzCut;
170 }
171 //-------------------------------------------------------
172 void 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
174   if(fDEBUG)Printf("Setting Efficiencies");
175   fEffFitPt=EffFitPt;
176   fFitLow=(TF1*)FitLow;
177   fFitHigh=(TF1*)FitHigh;
178   fNFitLowParam=NFitLowParam;
179   fNFitHighParam=NFitHighParam;
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];
184 }
185 //-----------------------------------------------------------
186 void 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 //----------------------------------------------------------
221 void AliAnalysisTaskDiHadron::SetSimulation(Int_t Simulate, Float_t SimNBgPart, Float_t SimNJetPart, Float_t SimNJet, Int_t SimNEvents, Int_t SimAwayDeflected){
222   fSimulate=Simulate;
223   fSimNBgPart=SimNBgPart;
224   fSimNJetPart=SimNJetPart;
225   fSimNJet=SimNJet;
226   fSimNEvents=SimNEvents;
227   fSimAwayDeflected=SimAwayDeflected;
228   fSimFlowMark=0;
229 }
230   
231 //-----------------------------------------------------------
232 void AliAnalysisTaskDiHadron::ConnectInputData(Option_t *){
233   //Connect to ESD
234   if(fDEBUG)Printf("Connecting");
235    TTree* tree = dynamic_cast<TTree*> (GetInputData(0));
236    if (!tree&&fDEBUG) {Printf("ERROR: Could not read chain from input slot 0");} 
237   else {
238     if(!fAODData){
239 AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());
240     if (!esdH){if(fDEBUG) Printf("ERROR: Could not get ESDInputHandler");}
241     else fESD = esdH->GetEvent();
242     }
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      }
251     }
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   }
256    if(fDEBUG)Printf("Connected");
257 }
258   
259 //---------------------------------------------------------  
260 void AliAnalysisTaskDiHadron::CreateOutputObjects(){
261   //Creates the histograms and list
262   if(fDEBUG)Printf("Output");
263   fOutput=new TList();
264   fOutput->SetName(GetName());
265   char histname[512]={0};
266   char histtitle[512]={0};
267   int nptbins=fNAPtBins;
268   int lptbins=0;
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"};
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];
280   Int_t BufferSize=sizeof(histname);
281   for(int iphi=0;iphi<=fnBinPhi;iphi++){
282     phiArray[iphi]=fdPhiMin+iphi*2*fPi/fnBinPhi;
283   }
284   for(int ieta=0;ieta<=fnBinEta;ieta++){
285     etaArray[ieta]=-etaEdge+ieta*2*etaEdge/fnBinEta;
286   }
287   for(int iphi=0;iphi<=fnBinPhiEtaPhi;iphi++){
288     phiEtaArrayPhi[iphi]=fdPhiMin+iphi*2*fPi/fnBinPhiEtaPhi;
289   }
290   for(int ieta=0;ieta<=fnBinPhiEtaEta;ieta++){
291     phiEtaArrayEta[ieta]=-etaEdge+ieta*2*etaEdge/fnBinPhiEtaEta;
292   }
293   for(int imc=0;imc<=1;imc++){//MC loop
294     if(imc==1&&!fMCHistos) continue;
295     //Create the histograms
296     snprintf(histname,BufferSize,"fHistMult%s",cmc1[imc]);
297     snprintf(histtitle,BufferSize,"Multiplicity%s",cmc2[imc]);
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
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]);
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
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]);
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       
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]);
326       fHistPhi[imult][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,nptbins,fPtAssocArray);
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       
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]);
334       fHistPhiPt[imult][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,nptbins,fPtAssocArray);
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       
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]);
342       fHistEta[imult][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,nptbins,fPtAssocArray);
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       
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]);
350       fHistEtaPt[imult][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,nptbins,fPtAssocArray);
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       
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]);
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       
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]);
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       
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]);
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       
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]);
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       
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]);
390       fHistPhiEta[imult][imc]=new TH3F(histname, histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,nptbins,fPtAssocArray);
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       
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]);
399       fHistPhiEtaPt[imult][imc]=new TH3F(histname, histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,nptbins,fPtAssocArray);
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       
406       //if(fDEBUG)Printf("OutPut2");
407       //Histograms with a trigger dependence
408       
409       for(int i=0;i<fNTPtBins;i++){
410         for(int j=1;j<fNAPtBins;j++){
411           if(fabs(fPtTrigArray[i]-fPtAssocArray[j])<1E-5)lptbins=j;
412         }
413         //if(fDEBUG)Printf("Loop: %d Pt %3.2f",i,fPtTrigArray[i]/fPtBinWidth);
414         
415         //Ones with no centrality binning
416         if(imult==0){
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]);
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         }
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]);
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         
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]);
435         fHistPhiTrig[i][imult][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
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         
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]);
443         fHistPhiTrigPt[i][imult][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
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         
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]);
451         fHistEtaTrig[i][imult][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
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         
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]);
459         fHistEtaTrigPt[i][imult][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
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         
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]);
467         fHistPhiEtaTrig[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
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
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]);
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
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]);
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         
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]);
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
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]);
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++){
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]);
506           fHistDeltaPhi[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
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           
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]);
514           fHistDeltaPhiPt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
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           
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]);
522           fHistDeltaPhiMix[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
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]);
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]);
551           
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]);
554           fHistDeltaPhiMixPt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinPhi,phiArray,lptbins,fPtAssocArray);
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]);
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]);
575           
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
585           //etaNear
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]);
588           fHistDeltaEtaN[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
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           
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]);
596           fHistDeltaEtaNPt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
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           
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]);
604           fHistDeltaEtaNMix[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
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]);
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
634           
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]);
637           fHistDeltaEtaNMixPt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
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]);
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
667           //Away Eta
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]);
670           fHistDeltaEtaA[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
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           
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]);
678           fHistDeltaEtaAPt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
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           
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]);
686           fHistDeltaEtaAMix[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
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]);
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]);
717           
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]);
720           fHistDeltaEtaAMixPt[i][imult][isign][imc]=new TH2F(histname,histtitle,fnBinEta,etaArray,lptbins,fPtAssocArray);
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
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
750
751       //====
752         }//end isignloop
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]);
755       fHistDeltaPhiEta[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
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       
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]);
765       fHistDeltaPhiEtaMix[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
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]);
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]);
798       
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]);
801       fHistPhiEtaTrigPt[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
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     
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]);
810       fHistDeltaPhiEtaPt[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
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       
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]);
819       fHistDeltaPhiEtaMixPt[i][imult][imc]=new TH3F(histname,histtitle,fnBinPhiEtaPhi,phiEtaArrayPhi,fnBinPhiEtaEta,phiEtaArrayEta,lptbins,fPtAssocArray);
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
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
853       //Three-Particle Histograms
854       for(int ipt=0;ipt<fNAPt3Bins;ipt++){
855         for(int iSign=0;iSign<4;iSign++){
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]);
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           
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]);
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
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]);
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
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]);
938           fHistDeltaEtaEta[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinEta3,-etaEdge,etaEdge,fnBinEta3,-etaEdge,etaEdge);
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
944 snprintf(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]);
946           fHistDeltaEtaEtaMix[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinEta3,-etaEdge,etaEdge,fnBinEta3,-etaEdge,etaEdge);
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
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
985 snprintf(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]);
987           fHistDeltaEtaEtaSS[i][ipt][imult][iSign][imc]=new TH2F(histname,histtitle,fnBinEta3,-etaEdge,etaEdge,fnBinEta3,-etaEdge,etaEdge);
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
998   if(fDEBUG)Printf("OutPut Created");
999 }//CreateOutputObjects    
1000 /////////////////////////////////
1001 Int_t AliAnalysisTaskDiHadron::CheckVertex(const AliESDEvent *rESD){
1002   //checks whether the vertex passes cuts
1003   Int_t rGood=-1;
1004   Float_t vtx[3];
1005   vtx[0]=rESD->GetPrimaryVertex()->GetX();
1006   vtx[1]=rESD->GetPrimaryVertex()->GetY();
1007   vtx[2]=rESD->GetPrimaryVertex()->GetZ();
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
1010   if(fDEBUG)Printf("vtxZ %f",vtx[2]);
1011   for(int i=0;i<fNVertexBins;i++){
1012     if(vtx[2]>fVertexArray[i]&&vtx[2]<=fVertexArray[i+1]&&rGood==0)rGood=i;
1013   }
1014   return rGood;
1015 }
1016 ///////////////////////////
1017 Int_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 ///////////////////////////////
1033 Int_t AliAnalysisTaskDiHadron::CheckTrigger(const AliESDEvent *rESD){
1034   //checks whether the trigger passes cuts
1035   if(fDEBUG)Printf("Checking Trigger");
1036   Int_t rGood=0;
1037   TString trigID=rESD->GetFiredTriggerClasses();
1038   int count=0;
1039   char trigID2[50];
1040   int stop=0;//in as a safety
1041
1042   for(int i=0;i<fNIDs;i++){
1043     if(stop==1)continue;
1044     for(int j=0;j<50;j++){
1045       if(fTrigIDArray[count]==',')trigID2[j]='\0';
1046       else if(fTrigIDArray[count]=='\0'){trigID2[j]='\0';stop=1;}
1047       else trigID2[j]=fTrigIDArray[count];
1048       count++;
1049       if(trigID2[j]=='\0') break;
1050       }
1051       if(trigID.Contains(trigID2)) rGood=1;
1052   }
1053     return rGood;
1054 }
1055 ///////////////////////////////////////////
1056 Int_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 /////////////////////////////////////////////
1079
1080 Int_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");
1082     //fills arrays with all of the tracks passing cuts
1083   rGoodTracks[0]=0;
1084   Int_t lead=0;
1085   Float_t leadPt=0;
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++){
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();
1099     if(fDEBUG) Printf("Pt%2.2f Eta%2.2f Phi%2.2f ", sPt,sEta,sPhi);
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;
1105     sNcls=eSDtrack->GetTPCNcls();
1106     //if(fDEBUG)Printf("NCLS%d",sNcls);
1107     if(sNcls<fMinClustersTPC)continue;
1108     sNclsF=eSDtrack->GetTPCnclsS();
1109     if((1-1.0*sNclsF/sNcls)<fMinClusterRatio)continue;//Clusters fit/ total
1110     sChi=(eSDtrack->GetTPCchi2())/sNcls;
1111     if(sChi>fMaxTPCchi2)continue;
1112     sITScls=eSDtrack->GetNcls(0);
1113     if(sITScls<fMinClustersITS)continue;
1114     eSDtrack->GetImpactParameters(sb,sbCov);
1115     if(fDEBUG)Printf("dca %2.2f %2.2f",sb[0],sb[1]);
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;
1119     if(eSDtrack->GetKinkIndex(0)>0)continue;//removes kinked tracks
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
1122     if(fDEBUG)Printf("SPD %d %d ", eSDtrack->HasPointOnITSLayer(0), eSDtrack->HasPointOnITSLayer(1));
1123     if(fSPDCut&&!eSDtrack->HasPointOnITSLayer(0)&&!eSDtrack->HasPointOnITSLayer(1))continue;
1124     if(fDEBUG)Printf("Pass \n");
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;
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     }
1138     if(sPt>leadPt)lead=rGoodTracks[0];
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));
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   }
1167   return lead;
1168 }
1169 /////////////////////////////////////////////
1170
1171 Int_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;
1177   Int_t rTrack=fAOD->GetNumberOfTracks();
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++){
1182     AliAODTrack *aodTrack=dynamic_cast<AliAODTrack*>(rAOD->GetTrack(iTrack));
1183     if(!aodTrack) AliFatal("Not a standard AOD");
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
1209     //if(!aodTrack->IsPrimaryCandidate())continue;//I assume this removes kinks // commented out, method removed in AliAODTrack
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 ///////////////////////////////////////////////////////
1258
1259 Int_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
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;
1266   Int_t lead=0;
1267   Float_t leadPt=0;
1268   for(int iTrack=0;iTrack<rTrack;iTrack++){
1269     TParticle *rParticle=rStack->Particle(iTrack);
1270     sPt=rParticle->Pt();
1271     //if(fDEBUG)Printf("MCPt%f",rPt);
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;
1286     rV2[rGoodTracks[1]]=0;
1287     rV3[rGoodTracks[1]]=0;
1288     rV4[rGoodTracks[1]]=0;
1289     if(sPt>leadPt)lead=rGoodTracks[1];
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   }
1299   return lead;
1300 }
1301 //---------------------------------------------------------
1302
1303 void 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
1346 //---------------------------------------------------------
1347 Int_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
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
1850   float v2=fFitHighV2->Eval(3.);
1851   float v3=fFitHighV3->Eval(3.);
1852   float v4=fFitHighV4->Eval(3.);
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;
1883   rGoodTracks[0]=0;
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);
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());
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;
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
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);
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  
1909   
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;
1920   if(fSimNJet<1)fSimNJet=1;
1921   for(int i=0;i<gRandom->Poisson(fSimNBgPart);i++){
1922     sPt=1.5;
1923     rPt[rGoodTracks[0]]=sPt;
1924     rEta[rGoodTracks[0]]=0;
1925     sPhi=SimFlow->GetRandom();
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++){
1944     TrigAngle=SimFlow->GetRandom();
1945     if(gRandom->Rndm()<AwayProb->Eval(TrigAngle-fSimPsi2))AwaySide1=1;
1946     else AwaySide1=2;
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());
1994       if(fSimAwayDeflected){
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
2026 //------------------------------------------------------------
2027 void AliAnalysisTaskDiHadron::Exec(Option_t *)
2028
2029   //Main executable
2030   if(fDEBUG)Printf("Exec");
2031
2032   const int nTPtBins=fNTPtBins;
2033   const int nCentBins=fNCentBins;
2034   for(int ievent=0;ievent<=1;ievent++){
2035     /* removed this cross check b/c not coverity complient
2036     if((!fESD&&!fAOD)&&ievent==0){
2037       if(fDEBUG)Printf("Error: fESD not found");
2038       break;
2039     }
2040     */
2041     if(!fMC&&ievent==1){
2042       break;
2043     }
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{
2056         if(fAOD->GetNumberOfTracks()<=0){
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       }
2068     }
2069   
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       }
2078     }
2079   
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();
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     }
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];
2116     }
2117     ftNPtAssoc3=new Int_t [nTrack];
2118     Short_t sign;
2119     //trigger particle arrays
2120     for(int i=0;i<fNTPtBins;i++){
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{
2134       AliAODHeader *tHeader=dynamic_cast<AliAODHeader*>(fAOD->GetHeader());
2135       if(!tHeader) AliFatal("Not a standard AOD");
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;
2182    
2183     //returns arrays filled up to nGoodTracks with tracks passing cuts
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     
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);
2194       
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;
2204         for(int c=0;c<maxArray;c++){
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]);
2214         }
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]);
2223             }
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               
2258                 if(nearEta){
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]);
2263                 }
2264                 else{
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
2274                 if(iTrack==leadPart){
2275                   if(NearXE){
2276                     tXE=ftPt[iTrack2]*cos(tdPhi)/ftPt[iTrack];
2277                     fHistXEN[i][multArray[c]][ievent]->Fill(tXE,ftEff[iTrack2]*ftEff[iTrack]);
2278                   }
2279                   else{
2280                     tXE=ftPt[iTrack2]*cos(tdPhi+fPi)/ftPt[iTrack];
2281                     fHistXEA[i][multArray[c]][ievent]->Fill(tXE,ftEff[iTrack2]*ftEff[iTrack]);
2282                   }
2283                 }
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];
2292                 if(tdPhi2<-fPi)tdPhi2+=2*fPi;
2293                 if(tdPhi2>fPi)tdPhi2-=2*fPi;
2294                 if(fabs(tdPhi2)<fNearPhiCut&&nearEta==1)nearEta2=1;
2295                 else nearEta2=0;
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;
2301                 if(tdPhi2>fdPhiMax)tdPhi2-=2*fPi;
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;
2305                 else sign=3;
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)
2319                     }
2320                   }
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]);
2404                       }
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    
2548   
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         }
2582
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   
2601   //track=0;
2602   //track2=0;
2603   
2604
2605   PostData(0, fOutput);
2606   //get rid of these arrays from memory
2607   delete [] ftPhi;
2608   delete [] ftEta;
2609   delete [] ftPt;
2610   delete [] ftCharge;
2611   delete [] ftEff;
2612   delete [] ftV2;
2613   delete [] ftV3;
2614   delete [] ftV4;
2615   delete [] ftNPtAssoc3;
2616   delete [] ftPtAssoc3;
2617   ftPhi=NULL;
2618   ftEta=NULL;
2619   ftPt=NULL;
2620   ftCharge=NULL;
2621   ftEff=NULL;
2622   ftV2=NULL;
2623   ftV3=NULL;
2624   ftV4=NULL;
2625   ftNPtAssoc3=NULL;
2626   ftPtAssoc3=NULL;
2627
2628   }//Exec
2629
2630 //---------------------------------------------------
2631 void AliAnalysisTaskDiHadron::Terminate(Option_t *){
2632   //Terminates the code, frees up memory
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];
2642           delete [] fMV2[ii][cc][vtx][jj];
2643           delete [] fMV3[ii][cc][vtx][jj];
2644           delete [] fMV4[ii][cc][vtx][jj];
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;
2655           fMV2[ii][cc][vtx][jj]=NULL;
2656           fMV3[ii][cc][vtx][jj]=NULL;
2657           fMV4[ii][cc][vtx][jj]=NULL;
2658           fMNPtAssoc3[ii][cc][vtx][jj]=NULL;
2659
2660         }
2661       }
2662     }
2663   }
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;
2681   Printf("Terminate AliAnalysisTaskDiHadron");
2682 }