]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/DPhi/AliAnalysisTaskDiHadron.cxx
chmod 644
[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->GetNTracks();
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=rAOD->GetTrack(iTrack);
1183     sPt=aodTrack->Pt();
1184     sEta=aodTrack->Eta();
1185     sPhi=aodTrack->Phi();
1186     sCharge=aodTrack->Charge();
1187     if(fDEBUG) Printf("Pt%2.2f Eta%2.2f Phi%2.2f ", sPt,sEta,sPhi);
1188     if(sPhi<fdPhiMin)sPhi+=2*fPi;
1189     if(sPhi>fdPhiMax)sPhi-=2*fPi;
1190     if(sPt<fMinPtAssoc||sPt>fMaxPtAssoc)continue;//set Pt range
1191     if(fabs(sEta)>fEtaCut)continue;//set Eta Range
1192     if(!sCharge)continue;
1193     sNcls=aodTrack->GetTPCNcls();
1194     if(sNcls<fMinClustersTPC)continue;
1195     sNclsF=aodTrack->GetTPCSharedMap().CountBits();
1196     if((1-1.0*sNclsF/sNcls)<fMinClusterRatio)continue;//Clusters shared/ total;
1197     sChi=aodTrack->Chi2perNDF();
1198     if(sChi>fMaxTPCchi2)continue;
1199     sITScls=aodTrack->GetNcls(0);
1200     if(sITScls<fMinClustersITS)continue;
1201     sb[0]=aodTrack->DCA();
1202     sb[1]=aodTrack->ZAtDCA();
1203     if(fDEBUG)Printf("dca %2.2f %2.2f",sb[0],sb[1]);
1204     if(!fDCA2D&&(sb[0]*sb[0]+sb[1]*sb[1])>(fMaxDCA*fMaxDCA))continue;//DCA cut
1205     if(fDCA2D==1&&(sb[0]*sb[0]/fMaxDCAXY/fMaxDCAXY+sb[1]*sb[1]/fMaxDCAZ/fMaxDCAZ)>1)continue;
1206     if(fDCA2D==2&&(0.35+0.42*std::pow(double(sPt),-0.9))<(sb[0])*sb[0])continue;
1207     //if(eSDtrack->GetKinkIndex(0)>0)continue;//removes kinked tracks
1208     if(!aodTrack->IsPrimaryCandidate())continue;//I assume this removes kinks
1209     //if(!aodTrack->GetStatus()&AliAODTrack::kTPCrefit&&fTPCRefit)continue;//refit in TPC
1210     //if((fITSRefit==1||(fITSRefit==2&&sPt>5))&&!aodTrack->GetStatus()&AliAODTrack::kITSrefit)continue;//refit of its tracks either for none,all, or >5 GeV/c
1211     if(fDEBUG)Printf("SPD %d %d ", aodTrack->HasPointOnITSLayer(0), aodTrack->HasPointOnITSLayer(1));
1212     if(fSPDCut&&!aodTrack->HasPointOnITSLayer(0)&&!aodTrack->HasPointOnITSLayer(1))continue;
1213     if(fDEBUG)Printf("Pass \n");
1214     rPt[rGoodTracks[0]]=sPt;
1215     rEta[rGoodTracks[0]]=sEta;
1216     rPhi[rGoodTracks[0]]=sPhi;
1217     rCharge[rGoodTracks[0]]=sCharge;
1218     if(fEfficiencyCorr){
1219     if(sPt<fEffFitPt)rEff[rGoodTracks[0]]=1./fFitLow->Eval(sPt);
1220     else rEff[rGoodTracks[0]]=1./fFitHigh->Eval(sPt);
1221     }
1222     else rEff[rGoodTracks[0]]=1;
1223     if(rEff[rGoodTracks[0]]!=rEff[rGoodTracks[0]]||rEff[rGoodTracks[0]]>1E8||rEff[rGoodTracks[0]]<-1E8){
1224       Printf("Efficiency Error %f %f",rEff[rGoodTracks[0]],rPt[rGoodTracks[0]]);
1225       continue;
1226     }
1227     if(sPt>leadPt)lead=rGoodTracks[0];
1228     if(sPt<fV2FitPt)rV2[rGoodTracks[0]]=fFitLowV2->Eval(sPt);
1229     else rV2[rGoodTracks[0]]=fFitHighV2->Eval(sPt);
1230     if(sPt<fV3FitPt)rV3[rGoodTracks[0]]=fFitLowV3->Eval(sPt);
1231     else rV3[rGoodTracks[0]]=fFitHighV3->Eval(sPt);
1232     if(sPt<fV4FitPt)rV4[rGoodTracks[0]]=fFitLowV4->Eval(sPt);
1233     else rV4[rGoodTracks[0]]=fFitHighV4->Eval(sPt);
1234     if(rV2[rGoodTracks[0]]!=rV2[rGoodTracks[0]]||rV2[rGoodTracks[0]]>1E8||rV2[rGoodTracks[0]]<-1E8){
1235       Printf("V2 Error %f %f",rV2[rGoodTracks[0]],rPt[rGoodTracks[0]]);
1236       continue;
1237     }
1238       if(rV4[rGoodTracks[0]]!=rV4[rGoodTracks[0]]||rV4[rGoodTracks[0]]>1E8||rV4[rGoodTracks[0]]<-1E8){
1239         Printf("V4 Error %f %f",rV4[rGoodTracks[0]],rPt[rGoodTracks[0]]);
1240       continue;
1241     }
1242       
1243     rNPtAssoc3[rGoodTracks[0]]=0;
1244     for(int apt3=0;apt3<fNAPt3Bins;apt3++){
1245       if(sPt<fPtAssoc3Array2[apt3]&&sPt>=fPtAssoc3Array1[apt3]){
1246         rPtAssoc3[rGoodTracks[0]][rNPtAssoc3[rGoodTracks[0]]]=apt3;
1247         rNPtAssoc3[rGoodTracks[0]]++;
1248       }
1249     }
1250
1251     rGoodTracks[0]++;
1252     
1253   }
1254   return lead;
1255 }
1256 ///////////////////////////////////////////////////////
1257
1258 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){
1259   //Fills Arrays of MC particles
1260   rGoodTracks[1]=0;
1261   AliStack *rStack=rMC->Stack();
1262   Int_t rTrack=rStack->GetNtrack();
1263   Float_t sPt, sEta, sPhi;
1264   Short_t sCharge;
1265   Int_t lead=0;
1266   Float_t leadPt=0;
1267   for(int iTrack=0;iTrack<rTrack;iTrack++){
1268     TParticle *rParticle=rStack->Particle(iTrack);
1269     sPt=rParticle->Pt();
1270     //if(fDEBUG)Printf("MCPt%f",rPt);
1271     sEta=rParticle->Eta();
1272     sPhi=rParticle->Phi();
1273     sCharge=rMC->GetTrack(iTrack)->Charge();
1274     if(sPhi<fdPhiMin)sPhi+=2*fPi;
1275     if(sPhi>fdPhiMax)sPhi-=2*fPi;
1276     if(sPt<fMinPtAssoc||sPt>fMaxPtAssoc)continue;//set Pt range
1277     if(fabs(sEta)>fEtaCut)continue;//set Eta Range
1278     if(!rStack->IsPhysicalPrimary(iTrack))continue;//primary particles only
1279     if(!sCharge)continue;//only charged particles kept
1280     rPt[rGoodTracks[1]]=sPt;
1281     rEta[rGoodTracks[1]]=sEta;
1282     rPhi[rGoodTracks[1]]=sPhi;
1283     rCharge[rGoodTracks[1]]=sCharge;
1284     rEff[rGoodTracks[1]]=1;
1285     rV2[rGoodTracks[1]]=0;
1286     rV3[rGoodTracks[1]]=0;
1287     rV4[rGoodTracks[1]]=0;
1288     if(sPt>leadPt)lead=rGoodTracks[1];
1289     rNPtAssoc3[rGoodTracks[1]]=0;
1290     for(int apt3=0;apt3<fNAPt3Bins;apt3++){
1291       if(sPt<fPtAssoc3Array2[apt3]&&sPt>=fPtAssoc3Array1[apt3]){
1292         rPtAssoc3[rGoodTracks[1]][rNPtAssoc3[rGoodTracks[1]]]=apt3;
1293         rNPtAssoc3[rGoodTracks[1]]++;
1294       }
1295     }
1296     rGoodTracks[1]++;
1297   }
1298   return lead;
1299 }
1300 //---------------------------------------------------------
1301
1302 void AliAnalysisTaskDiHadron::CalcFlow(Float_t *rPt, Float_t *rEta, Float_t *rPhi, Int_t *rGoodTracks, Int_t LeadPart){
1303   float psin2=0, psin3=0, psin4=0, pcos2=0, pcos3=0, pcos4=0;
1304   float cos2=0, cos3=0, cos4=0, sum=0;
1305   float rNAssoc=0, rNTrig=0;
1306   for(int i=0;i<rGoodTracks[0];i++){
1307     if(i==LeadPart)continue;
1308     if(rPt[i]>1&&rPt[i]<2)rNAssoc++;
1309     if(rPt[i]>3&&rPt[i]<4)rNTrig++;
1310     if(fabs(rEta[i]-rEta[LeadPart])<0.5) continue;
1311     if(rPt[i]<2){
1312       psin2+=rPt[i]*sin(2*rPhi[i]);
1313       pcos2+=rPt[i]*cos(2*rPhi[i]);
1314       psin3+=rPt[i]*sin(3*rPhi[i]);
1315       pcos3+=rPt[i]*cos(3*rPhi[i]);
1316       psin4+=rPt[i]*sin(4*rPhi[i]);
1317       pcos4+=rPt[i]*cos(4*rPhi[i]);
1318    
1319     }
1320     if(rPt[i]>3&&rPt[i]<4){
1321       for(int j=0;j<rGoodTracks[0];j++){
1322         if(rPt[j]<2&&rPt[j]>1){
1323           cos2+=cos(2*rPhi[i]-2*rPhi[j]);
1324           cos3+=cos(3*rPhi[i]-3*rPhi[j]);
1325           cos4+=cos(4*rPhi[i]-4*rPhi[j]);
1326           sum++;
1327         }//assoc pt
1328       }//assoc loop
1329     }//trigger pt
1330   }//loop
1331
1332   if(sum==0)sum=1E-10;
1333   fSimPsi2=atan(psin2/pcos2)/2;
1334   fSimPsi3=atan(psin3/pcos3)/3;
1335   fSimPsi4=atan(psin4/pcos4)/4;
1336   fFitHighV2->SetParameter(0,sqrt(fabs(cos2)/sum));
1337   fFitHighV3->SetParameter(0,sqrt(fabs(cos3)/sum));
1338   fFitHighV4->SetParameter(0,sqrt(fabs(cos4)/sum));
1339   fSimNBgPart=rNAssoc;
1340   fSimNJet=rNTrig;
1341
1342 }
1343
1344
1345 //---------------------------------------------------------
1346 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){
1347
1348   Float_t FlowValues[500][8]={{0.0035, 0.0136, 0.0105, 0.0010, 1.1650, 1.0527, 0.1205, 0.8645},
1349                             {0.0030, 0.0176, 0.0105, 0.0014, 0.3562, 0.6850, 0.0579, 0.8537},
1350                             {0.0047, 0.0153, 0.0062, 0.0047, 1.6184, 0.3231, 1.0531, 0.1074},
1351                             {0.0095, 0.0201, 0.0096, 0.0036, 1.1438, 0.7005, 1.4932, 0.6805},
1352                             {0.0147, 0.0187, 0.0090, 0.0041, 0.3040, 0.7596, 1.2148, 0.3205},
1353                             {0.0085, 0.0145, 0.0058, 0.0006, 2.8200, 0.6537, 1.4212, 0.4427},
1354                             {0.0027, 0.0098, 0.0067, 0.0010, 0.7530, 1.7227, 0.8277, 0.2671},
1355                             {0.0211, 0.0141, 0.0040, 0.0032, 2.8158, 1.2640, 1.5320, 0.8592},
1356                             {0.0214, 0.0034, 0.0082, 0.0028, 0.9113, 1.3545, 0.8183, 0.4192},
1357                             {0.0101, 0.0178, 0.0093, 0.0023, 0.1782, 0.4587, 1.3575, 0.4537},
1358                             {0.0077, 0.0030, 0.0107, 0.0018, 3.0208, 1.2572, 1.3529, 1.0689},
1359                             {0.0156, 0.0217, 0.0069, 0.0011, 2.7169, 0.9773, 0.2563, 0.5131},
1360                             {0.0139, 0.0060, 0.0009, 0.0009, 1.3356, 1.0727, 0.8756, 0.0257},
1361                             {0.0187, 0.0250, 0.0067, 0.0040, 1.2627, 1.9085, 0.7025, 1.0722},
1362                             {0.0052, 0.0196, 0.0104, 0.0050, 0.3652, 0.8782, 0.8404, 1.0192},
1363                             {0.0079, 0.0095, 0.0061, 0.0037, 0.3816, 0.6331, 0.1517, 0.4630},
1364                             {0.0060, 0.0169, 0.0042, 0.0012, 3.0543, 0.7154, 0.1500, 0.8865},
1365                             {0.0022, 0.0220, 0.0080, 0.0031, 1.5914, 0.4051, 0.5805, 0.5541},
1366                             {0.0010, 0.0055, 0.0184, 0.0044, 1.3026, 1.9182, 1.5478, 0.2334},
1367                             {0.0128, 0.0089, 0.0105, 0.0007, 1.6267, 0.0414, 1.3179, 0.8428},
1368                             {0.0078, 0.0258, 0.0082, 0.0025, 1.3202, 1.4525, 0.8713, 0.1477},
1369                             {0.0105, 0.0163, 0.0098, 0.0042, 0.0085, 0.0798, 0.3661, 0.6749},
1370                             {0.0098, 0.0186, 0.0117, 0.0018, 0.6094, 0.7213, 1.2876, 0.4772},
1371                             {0.0074, 0.0071, 0.0036, 0.0046, 0.7562, 0.5789, 0.2272, 1.0092},
1372                             {0.0111, 0.0040, 0.0094, 0.0026, 1.3796, 0.5633, 1.3583, 0.5369},
1373                             {0.0151, 0.0224, 0.0057, 0.0031, 0.1665, 0.9981, 0.1623, 1.1031},
1374                             {0.0110, 0.0314, 0.0071, 0.0009, 1.0761, 1.2344, 0.3076, 0.0696},
1375                             {0.0123, 0.0118, 0.0037, 0.0046, 1.7767, 1.3157, 1.5148, 1.1963},
1376                             {0.0081, 0.0068, 0.0087, 0.0023, 0.6168, 0.3762, 0.0063, 0.3572},
1377                             {0.0099, 0.0113, 0.0087, 0.0050, 0.5912, 2.0366, 1.3408, 1.2208},
1378                             {0.0135, 0.0052, 0.0091, 0.0031, 0.8365, 0.9733, 1.2951, 0.9458},
1379                             {0.0052, 0.0256, 0.0041, 0.0028, 1.6871, 0.7141, 0.2864, 0.4447},
1380                             {0.0026, 0.0109, 0.0046, 0.0040, 1.8569, 0.8634, 0.3792, 0.3380},
1381                             {0.0048, 0.0032, 0.0100, 0.0008, 0.2143, 1.1711, 0.4115, 1.0100},
1382                             {0.0190, 0.0082, 0.0011, 0.0017, 2.3545, 0.5168, 0.5337, 0.0927},
1383                             {0.0066, 0.0051, 0.0105, 0.0023, 1.4765, 1.0413, 0.6329, 0.5209},
1384                             {0.0071, 0.0041, 0.0138, 0.0011, 2.6051, 1.2165, 0.3467, 0.8268},
1385                             {0.0112, 0.0213, 0.0082, 0.0030, 2.4043, 0.1020, 0.2713, 1.2024},
1386                             {0.0088, 0.0135, 0.0061, 0.0043, 2.8336, 0.9174, 0.4703, 0.8523},
1387                             {0.0120, 0.0212, 0.0066, 0.0052, 1.8337, 0.7224, 0.0820, 0.9440},
1388                             {0.0032, 0.0065, 0.0035, 0.0012, 1.2218, 1.4102, 0.8424, 0.1840},
1389                             {0.0049, 0.0066, 0.0050, 0.0046, 0.5469, 1.0646, 1.3841, 0.6618},
1390                             {0.0122, 0.0079, 0.0027, 0.0017, 2.0599, 1.2457, 0.1777, 0.3349},
1391                             {0.0117, 0.0206, 0.0035, 0.0019, 1.1937, 1.6757, 1.5304, 0.2341},
1392                             {0.0073, 0.0180, 0.0071, 0.0017, 0.9287, 1.7990, 1.3380, 0.2897},
1393                             {0.0138, 0.0134, 0.0076, 0.0020, 1.4069, 0.7750, 0.7245, 0.1373},
1394                             {0.0032, 0.0214, 0.0068, 0.0036, 2.7958, 0.1488, 0.0752, 0.3032},
1395                             {0.0097, 0.0206, 0.0044, 0.0035, 2.9542, 0.6978, 0.3074, 0.8538},
1396                             {0.0014, 0.0176, 0.0128, 0.0045, 0.4687, 1.8134, 0.3071, 0.0202},
1397                             {0.0194, 0.0068, 0.0086, 0.0031, 0.0459, 1.0151, 0.8554, 0.9847},
1398                             {0.0136, 0.0121, 0.0086, 0.0007, 1.2042, 0.1901, 1.0211, 0.9832},
1399                             {0.0092, 0.0110, 0.0041, 0.0051, 2.3322, 1.6906, 0.6865, 0.8827},
1400                             {0.0099, 0.0176, 0.0113, 0.0016, 1.9565, 1.2077, 1.4654, 0.4928},
1401                             {0.0077, 0.0132, 0.0081, 0.0038, 2.2578, 1.3617, 0.8156, 1.0693},
1402                             {0.0053, 0.0342, 0.0238, 0.0037, 2.7501, 1.6721, 0.7829, 0.2254},
1403                             {0.0099, 0.0152, 0.0068, 0.0026, 1.2651, 1.4901, 1.3494, 1.2040},
1404                             {0.0047, 0.0084, 0.0092, 0.0024, 2.3898, 2.0839, 1.0090, 0.6047},
1405                             {0.0224, 0.0082, 0.0065, 0.0015, 1.7053, 0.5598, 0.6944, 1.2247},
1406                             {0.0245, 0.0209, 0.0024, 0.0013, 1.3785, 0.6178, 1.3101, 0.7325},
1407                             {0.0097, 0.0053, 0.0060, 0.0025, 1.8877, 1.5127, 0.6411, 0.0542},
1408                             {0.0107, 0.0120, 0.0108, 0.0021, 0.4713, 1.0744, 1.0183, 0.1119},
1409                             {0.0148, 0.0040, 0.0092, 0.0014, 1.8979, 1.8480, 1.0089, 1.1614},
1410                             {0.0132, 0.0082, 0.0091, 0.0023, 2.6065, 1.5960, 1.3907, 0.8666},
1411                             {0.0070, 0.0155, 0.0102, 0.0025, 0.5482, 1.9525, 0.5050, 0.8651},
1412                             {0.0147, 0.0086, 0.0093, 0.0015, 2.8907, 0.4051, 0.3219, 0.1822},
1413                             {0.0108, 0.0207, 0.0028, 0.0037, 1.0302, 1.5407, 0.5012, 0.7318},
1414                             {0.0126, 0.0047, 0.0079, 0.0028, 2.8788, 1.2861, 0.8888, 0.5333},
1415                             {0.0055, 0.0158, 0.0085, 0.0026, 2.2349, 1.9289, 1.0859, 0.0347},
1416                             {0.0109, 0.0086, 0.0062, 0.0038, 0.6779, 0.7527, 0.2708, 0.2838},
1417                             {0.0114, 0.0083, 0.0107, 0.0007, 1.5915, 1.1871, 1.5686, 0.5562},
1418                             {0.0040, 0.0102, 0.0074, 0.0024, 1.7429, 0.0685, 0.8020, 0.2097},
1419                             {0.0101, 0.0100, 0.0035, 0.0033, 1.2561, 0.5735, 0.9764, 0.4423},
1420                             {0.0145, 0.0160, 0.0092, 0.0057, 0.0503, 0.5607, 0.8943, 0.4559},
1421                             {0.0139, 0.0126, 0.0187, 0.0027, 0.7941, 0.7881, 1.3813, 0.1958},
1422                             {0.0211, 0.0038, 0.0025, 0.0028, 2.2224, 1.9979, 0.9060, 0.0495},
1423                             {0.0140, 0.0169, 0.0036, 0.0003, 0.5556, 1.6196, 0.0197, 0.2456},
1424                             {0.0133, 0.0334, 0.0097, 0.0004, 0.4103, 1.9339, 0.3124, 0.8308},
1425                             {0.0043, 0.0021, 0.0061, 0.0013, 2.5553, 1.8116, 0.7002, 0.2462},
1426                             {0.0071, 0.0183, 0.0083, 0.0016, 1.6071, 0.3276, 0.4626, 0.6513},
1427                             {0.0087, 0.0188, 0.0111, 0.0051, 2.4206, 0.1839, 1.4459, 0.1188},
1428                             {0.0118, 0.0019, 0.0077, 0.0039, 2.3648, 0.3677, 0.2608, 0.2471},
1429                             {0.0055, 0.0119, 0.0057, 0.0028, 2.7920, 2.0417, 1.2721, 1.1066},
1430                             {0.0021, 0.0112, 0.0055, 0.0045, 1.3043, 0.2018, 0.8319, 0.6204},
1431                             {0.0035, 0.0261, 0.0105, 0.0019, 1.2034, 2.0184, 0.0761, 0.0667},
1432                             {0.0077, 0.0135, 0.0101, 0.0039, 2.0438, 0.3174, 1.0312, 0.1953},
1433                             {0.0272, 0.0054, 0.0047, 0.0029, 2.8039, 1.4388, 1.4157, 0.7614},
1434                             {0.0049, 0.0085, 0.0018, 0.0028, 1.5170, 1.9910, 0.1080, 0.7917},
1435                             {0.0061, 0.0117, 0.0062, 0.0033, 0.2065, 0.6670, 1.2914, 1.1443},
1436                             {0.0196, 0.0069, 0.0041, 0.0008, 2.6236, 1.2682, 0.1914, 1.1040},
1437                             {0.0131, 0.0189, 0.0070, 0.0011, 0.1012, 0.0506, 0.3475, 0.3875},
1438                             {0.0080, 0.0058, 0.0086, 0.0025, 0.9333, 0.4077, 1.4301, 0.3130},
1439                             {0.0161, 0.0028, 0.0082, 0.0039, 1.3052, 0.2207, 0.6978, 0.7626},
1440                             {0.0151, 0.0092, 0.0095, 0.0019, 1.4551, 0.5386, 0.9054, 0.4826},
1441                             {0.0155, 0.0170, 0.0086, 0.0007, 0.9909, 1.9847, 0.2312, 1.1555},
1442                             {0.0060, 0.0073, 0.0063, 0.0030, 1.9213, 0.2065, 1.1014, 0.8468},
1443                             {0.0107, 0.0114, 0.0101, 0.0007, 0.1207, 0.2177, 1.4986, 0.7271},
1444                             {0.0252, 0.0091, 0.0045, 0.0027, 2.8788, 0.3174, 0.9813, 0.9926},
1445                             {0.0013, 0.0132, 0.0092, 0.0035, 0.4808, 0.4746, 0.6482, 0.0875},
1446                             {0.0046, 0.0115, 0.0075, 0.0031, 0.5798, 1.5405, 0.6005, 1.0992},
1447                             {0.0119, 0.0071, 0.0136, 0.0020, 2.3262, 2.0037, 0.1128, 0.2491},
1448                             {0.0094, 0.0087, 0.0083, 0.0017, 0.0152, 0.3550, 0.6614, 0.4152},
1449                             {0.0140, 0.0128, 0.0068, 0.0030, 2.9511, 1.9677, 1.5402, 0.4670},
1450                             {0.0086, 0.0119, 0.0073, 0.0017, 1.6429, 0.9199, 0.7814, 0.0791},
1451                             {0.0072, 0.0222, 0.0125, 0.0010, 1.9273, 1.6578, 1.4650, 0.6725},
1452                             {0.0226, 0.0080, 0.0130, 0.0058, 1.0463, 1.0896, 1.5551, 1.0986},
1453                             {0.0085, 0.0050, 0.0062, 0.0036, 0.6272, 1.1132, 1.2206, 0.9006},
1454                             {0.0140, 0.0056, 0.0165, 0.0017, 3.0113, 0.6747, 0.7976, 0.9445},
1455                             {0.0124, 0.0049, 0.0126, 0.0008, 1.7943, 0.4494, 0.8758, 0.1415},
1456                             {0.0239, 0.0105, 0.0035, 0.0014, 2.3162, 0.3501, 0.3520, 0.9412},
1457                             {0.0082, 0.0165, 0.0023, 0.0029, 0.1396, 1.9216, 1.3603, 0.7348},
1458                             {0.0201, 0.0114, 0.0001, 0.0018, 0.3037, 0.0699, 1.4453, 1.2160},
1459                             {0.0076, 0.0096, 0.0097, 0.0024, 0.0014, 0.4569, 1.1910, 1.1057},
1460                             {0.0118, 0.0109, 0.0046, 0.0020, 0.9412, 0.7662, 0.0690, 1.2182},
1461                             {0.0070, 0.0141, 0.0025, 0.0021, 1.1799, 0.2160, 0.0447, 0.8131},
1462                             {0.0075, 0.0136, 0.0065, 0.0002, 3.1297, 0.8345, 0.7822, 0.4496},
1463                             {0.0083, 0.0136, 0.0135, 0.0018, 1.3088, 1.7144, 0.8048, 0.7971},
1464                             {0.0063, 0.0029, 0.0106, 0.0020, 0.1659, 0.1256, 0.1526, 1.1587},
1465                             {0.0057, 0.0153, 0.0117, 0.0022, 2.7526, 1.2744, 1.5398, 0.0102},
1466                             {0.0125, 0.0117, 0.0084, 0.0006, 3.1014, 1.2814, 0.5067, 0.0922},
1467                             {0.0023, 0.0087, 0.0032, 0.0058, 0.1023, 1.2995, 0.7316, 0.6699},
1468                             {0.0072, 0.0085, 0.0055, 0.0013, 0.9979, 1.8470, 1.1499, 0.7783},
1469                             {0.0162, 0.0124, 0.0104, 0.0030, 1.0651, 1.7943, 1.1829, 0.6595},
1470                             {0.0016, 0.0219, 0.0049, 0.0018, 3.0881, 1.3501, 1.3021, 0.2507},
1471                             {0.0126, 0.0229, 0.0070, 0.0028, 2.8194, 1.4202, 0.2444, 0.6877},
1472                             {0.0026, 0.0146, 0.0107, 0.0002, 1.3380, 1.1348, 0.1109, 0.8790},
1473                             {0.0159, 0.0135, 0.0078, 0.0013, 2.3884, 0.2951, 0.7011, 0.7658},
1474                             {0.0130, 0.0120, 0.0040, 0.0026, 2.4187, 2.0936, 1.4007, 0.6005},
1475                             {0.0128, 0.0069, 0.0101, 0.0044, 0.2427, 1.4806, 0.0431, 1.1931},
1476                             {0.0112, 0.0112, 0.0052, 0.0025, 2.4205, 0.3927, 0.6790, 0.8408},
1477                             {0.0083, 0.0293, 0.0096, 0.0012, 1.3709, 0.3885, 1.1137, 0.9000},
1478                             {0.0104, 0.0055, 0.0104, 0.0027, 2.9709, 1.8674, 0.7436, 0.2211},
1479                             {0.0246, 0.0067, 0.0020, 0.0015, 0.3625, 1.2125, 1.2845, 0.2084},
1480                             {0.0157, 0.0089, 0.0103, 0.0032, 0.7275, 0.6670, 0.1099, 0.0024},
1481                             {0.0042, 0.0072, 0.0100, 0.0042, 0.2025, 0.5046, 0.9835, 0.7001},
1482                             {0.0112, 0.0171, 0.0030, 0.0021, 0.4649, 1.0000, 1.0488, 0.9570},
1483                             {0.0160, 0.0208, 0.0105, 0.0052, 0.6183, 1.4269, 1.2784, 0.6166},
1484                             {0.0128, 0.0144, 0.0041, 0.0007, 0.3341, 1.4410, 1.5192, 0.0196},
1485                             {0.0074, 0.0058, 0.0054, 0.0007, 0.6399, 0.5058, 0.4173, 0.4141},
1486                             {0.0151, 0.0118, 0.0122, 0.0027, 1.8413, 1.1375, 0.2133, 0.9026},
1487                             {0.0095, 0.0139, 0.0091, 0.0018, 0.7901, 1.5670, 0.6291, 0.7537},
1488                             {0.0051, 0.0198, 0.0104, 0.0019, 0.4317, 1.0279, 0.6844, 0.9169},
1489                             {0.0116, 0.0064, 0.0075, 0.0035, 2.9749, 0.4117, 1.4933, 0.6747},
1490                             {0.0194, 0.0220, 0.0017, 0.0061, 1.2260, 0.4513, 1.3605, 0.1055},
1491                             {0.0034, 0.0116, 0.0053, 0.0044, 1.0303, 0.4084, 0.8530, 0.1180},
1492                             {0.0058, 0.0114, 0.0045, 0.0023, 2.6296, 1.1444, 0.1301, 0.7712},
1493                             {0.0084, 0.0024, 0.0155, 0.0059, 0.3500, 0.8980, 1.3498, 0.1263},
1494                             {0.0125, 0.0207, 0.0079, 0.0024, 2.4658, 1.5593, 0.8358, 1.1297},
1495                             {0.0067, 0.0057, 0.0075, 0.0012, 2.4197, 1.2181, 0.9845, 0.4672},
1496                             {0.0050, 0.0187, 0.0092, 0.0026, 1.8256, 1.6191, 1.3539, 0.7405},
1497                             {0.0091, 0.0060, 0.0048, 0.0010, 1.8467, 1.5122, 1.3381, 0.2104},
1498                             {0.0121, 0.0229, 0.0009, 0.0005, 0.6522, 1.0287, 0.3377, 1.1998},
1499                             {0.0063, 0.0114, 0.0037, 0.0023, 2.0782, 2.0215, 0.8559, 1.1946},
1500                             {0.0139, 0.0134, 0.0030, 0.0016, 0.5237, 0.3628, 1.4648, 0.7004},
1501                             {0.0155, 0.0100, 0.0082, 0.0024, 1.6575, 0.7365, 1.2304, 0.7334},
1502                             {0.0117, 0.0169, 0.0040, 0.0019, 0.3560, 0.6076, 0.8880, 0.6829},
1503                             {0.0121, 0.0172, 0.0058, 0.0038, 2.9573, 1.5347, 0.2898, 0.5248},
1504                             {0.0133, 0.0067, 0.0017, 0.0048, 0.9285, 0.1553, 1.1599, 0.1877},
1505                             {0.0103, 0.0122, 0.0028, 0.0028, 0.4975, 0.0563, 0.0072, 0.4217},
1506                             {0.0180, 0.0236, 0.0049, 0.0048, 2.8175, 1.1828, 1.3087, 0.2473},
1507                             {0.0138, 0.0145, 0.0042, 0.0018, 1.1974, 0.4486, 1.2734, 0.6685},
1508                             {0.0134, 0.0026, 0.0018, 0.0039, 2.0075, 2.0158, 0.9690, 0.6126},
1509                             {0.0346, 0.0185, 0.0110, 0.0039, 1.1108, 1.8899, 0.4688, 0.8630},
1510                             {0.0192, 0.0072, 0.0076, 0.0033, 1.8109, 0.6485, 0.0930, 0.0311},
1511                             {0.0127, 0.0026, 0.0090, 0.0013, 2.3166, 1.4705, 1.0740, 0.7471},
1512                             {0.0115, 0.0036, 0.0115, 0.0036, 1.1312, 1.2609, 0.5996, 0.9439},
1513                             {0.0085, 0.0106, 0.0066, 0.0025, 0.0152, 1.5191, 0.0413, 0.2578},
1514                             {0.0102, 0.0067, 0.0030, 0.0024, 2.1989, 1.8232, 0.2486, 1.2449},
1515                             {0.0138, 0.0103, 0.0085, 0.0029, 0.5054, 0.9836, 1.0786, 0.7059},
1516                             {0.0123, 0.0086, 0.0076, 0.0019, 1.8668, 1.6994, 0.9880, 1.1505},
1517                             {0.0018, 0.0209, 0.0062, 0.0020, 2.2329, 0.1766, 0.0475, 0.8768},
1518                             {0.0062, 0.0156, 0.0039, 0.0055, 0.1620, 0.7111, 0.0465, 0.8902},
1519                             {0.0129, 0.0118, 0.0124, 0.0004, 1.0527, 2.0856, 1.4895, 0.9802},
1520                             {0.0130, 0.0224, 0.0067, 0.0023, 1.3647, 1.9240, 0.9774, 0.2057},
1521                             {0.0095, 0.0120, 0.0131, 0.0033, 1.3549, 0.0578, 1.0622, 0.1492},
1522                             {0.0181, 0.0095, 0.0048, 0.0018, 0.3657, 1.2464, 0.3167, 0.4021},
1523                             {0.0101, 0.0144, 0.0037, 0.0026, 0.4662, 1.8786, 0.2706, 0.0059},
1524                             {0.0070, 0.0282, 0.0065, 0.0019, 0.7439, 0.7537, 0.3298, 0.9921},
1525                             {0.0072, 0.0062, 0.0052, 0.0013, 0.1273, 2.0858, 1.3163, 0.7964},
1526                             {0.0126, 0.0085, 0.0094, 0.0022, 1.2513, 1.4222, 0.2437, 0.0859},
1527                             {0.0110, 0.0094, 0.0039, 0.0021, 1.1705, 1.2577, 0.6227, 1.0916},
1528                             {0.0147, 0.0115, 0.0034, 0.0048, 2.0546, 1.3980, 0.6977, 0.2892},
1529                             {0.0071, 0.0057, 0.0022, 0.0022, 0.4330, 0.3782, 0.3191, 0.4790},
1530                             {0.0028, 0.0083, 0.0053, 0.0010, 2.2178, 0.7593, 0.2022, 0.8853},
1531                             {0.0163, 0.0146, 0.0025, 0.0067, 0.6594, 1.8242, 0.5305, 0.3463},
1532                             {0.0131, 0.0159, 0.0064, 0.0011, 0.2721, 0.4152, 1.2204, 0.2509},
1533                             {0.0017, 0.0102, 0.0114, 0.0033, 1.7444, 0.7768, 0.5442, 0.2794},
1534                             {0.0064, 0.0136, 0.0053, 0.0016, 0.0440, 0.7431, 1.2696, 1.2395},
1535                             {0.0052, 0.0019, 0.0068, 0.0025, 1.7642, 0.1807, 0.5063, 0.0677},
1536                             {0.0053, 0.0123, 0.0099, 0.0016, 2.4677, 0.6623, 0.0884, 0.2277},
1537                             {0.0021, 0.0086, 0.0155, 0.0024, 0.4650, 1.9816, 1.3812, 1.0381},
1538                             {0.0207, 0.0054, 0.0099, 0.0018, 1.7223, 1.0553, 1.3898, 0.3571},
1539                             {0.0150, 0.0114, 0.0081, 0.0007, 0.2526, 0.1555, 0.1727, 0.8274},
1540                             {0.0153, 0.0051, 0.0085, 0.0030, 2.8053, 0.6042, 1.2212, 1.2452},
1541                             {0.0114, 0.0114, 0.0056, 0.0054, 2.8354, 2.0479, 1.5487, 1.1835},
1542                             {0.0089, 0.0099, 0.0060, 0.0028, 1.5864, 1.1997, 1.1121, 0.4190},
1543                             {0.0123, 0.0216, 0.0035, 0.0026, 0.9786, 0.7528, 0.7907, 0.5562},
1544                             {0.0032, 0.0109, 0.0024, 0.0028, 2.2915, 0.9272, 0.6995, 1.1891},
1545                             {0.0091, 0.0270, 0.0068, 0.0024, 2.8772, 0.8494, 1.1551, 0.3609},
1546                             {0.0129, 0.0144, 0.0049, 0.0031, 0.1821, 0.0452, 1.5706, 1.2319},
1547                             {0.0127, 0.0097, 0.0046, 0.0043, 0.2283, 1.6986, 0.8899, 1.1361},
1548                             {0.0021, 0.0287, 0.0132, 0.0002, 2.7721, 0.3207, 0.4076, 0.2857},
1549                             {0.0115, 0.0110, 0.0034, 0.0010, 0.5521, 1.4541, 1.0152, 0.6732},
1550                             {0.0282, 0.0102, 0.0123, 0.0023, 0.6063, 1.4107, 1.4128, 0.8899},
1551                             {0.0208, 0.0216, 0.0059, 0.0015, 2.6100, 0.4442, 0.3081, 0.8974},
1552                             {0.0084, 0.0071, 0.0019, 0.0037, 2.6944, 1.1982, 0.9367, 0.9872},
1553                             {0.0201, 0.0043, 0.0089, 0.0039, 2.1109, 0.3362, 1.0562, 1.0923},
1554                             {0.0119, 0.0056, 0.0107, 0.0060, 3.1011, 1.8405, 0.1200, 0.5129},
1555                             {0.0096, 0.0089, 0.0069, 0.0046, 3.0687, 1.2951, 0.4996, 0.9441},
1556                             {0.0266, 0.0038, 0.0123, 0.0024, 2.1246, 0.2021, 1.2239, 0.6545},
1557                             {0.0063, 0.0122, 0.0156, 0.0022, 2.2736, 0.4226, 1.0690, 0.2122},
1558                             {0.0271, 0.0119, 0.0026, 0.0003, 1.6497, 1.2688, 1.1221, 0.9900},
1559                             {0.0100, 0.0132, 0.0046, 0.0004, 0.9965, 0.9618, 1.1305, 0.6669},
1560                             {0.0056, 0.0023, 0.0111, 0.0020, 1.9226, 1.5838, 0.9000, 0.1033},
1561                             {0.0037, 0.0070, 0.0058, 0.0023, 2.0981, 2.0770, 1.1765, 0.5544},
1562                             {0.0239, 0.0168, 0.0095, 0.0013, 1.6507, 0.8755, 0.6177, 0.1818},
1563                             {0.0044, 0.0168, 0.0081, 0.0060, 1.8151, 0.2016, 1.0153, 0.0109},
1564                             {0.0157, 0.0155, 0.0038, 0.0047, 0.4066, 1.9201, 1.0704, 0.3928},
1565                             {0.0096, 0.0121, 0.0100, 0.0022, 2.1289, 2.0646, 0.4981, 0.7227},
1566                             {0.0179, 0.0150, 0.0003, 0.0060, 1.9955, 1.4489, 1.2964, 0.4596},
1567                             {0.0099, 0.0091, 0.0013, 0.0050, 2.3420, 1.2983, 0.8489, 0.6094},
1568                             {0.0085, 0.0083, 0.0137, 0.0060, 2.7641, 0.5335, 0.7058, 0.8528},
1569                             {0.0072, 0.0128, 0.0070, 0.0017, 2.5533, 1.1833, 1.1426, 0.3015},
1570                             {0.0178, 0.0059, 0.0123, 0.0014, 2.3903, 0.8255, 1.4489, 1.0062},
1571                             {0.0177, 0.0097, 0.0117, 0.0023, 0.3326, 1.1289, 0.0181, 0.5852},
1572                             {0.0092, 0.0097, 0.0024, 0.0018, 1.4998, 1.6096, 0.9054, 0.1004},
1573                             {0.0217, 0.0111, 0.0016, 0.0028, 0.9820, 1.4327, 1.4867, 0.4863},
1574                             {0.0047, 0.0080, 0.0100, 0.0045, 2.8094, 0.2580, 1.2854, 0.2201},
1575                             {0.0033, 0.0169, 0.0125, 0.0023, 2.1266, 1.0499, 0.7047, 1.0886},
1576                             {0.0114, 0.0103, 0.0087, 0.0033, 1.3277, 1.6925, 1.1173, 0.9879},
1577                             {0.0088, 0.0067, 0.0067, 0.0023, 1.1789, 1.5199, 0.4483, 0.1783},
1578                             {0.0066, 0.0240, 0.0061, 0.0035, 1.0477, 0.2353, 0.1057, 1.0293},
1579                             {0.0209, 0.0076, 0.0039, 0.0071, 1.3516, 1.0116, 1.1254, 0.4666},
1580                             {0.0144, 0.0172, 0.0150, 0.0019, 1.4880, 0.6142, 0.1007, 1.1708},
1581                             {0.0120, 0.0177, 0.0064, 0.0020, 0.3051, 0.7682, 1.2798, 0.4748},
1582                             {0.0127, 0.0049, 0.0064, 0.0048, 2.9249, 0.1780, 0.6767, 1.2302},
1583                             {0.0078, 0.0048, 0.0054, 0.0026, 3.0607, 0.7733, 0.0750, 0.6874},
1584                             {0.0121, 0.0143, 0.0085, 0.0030, 0.4726, 2.0846, 0.4344, 0.0027},
1585                             {0.0137, 0.0083, 0.0079, 0.0026, 0.1603, 0.7542, 0.2484, 0.2484},
1586                             {0.0165, 0.0115, 0.0092, 0.0030, 2.0919, 1.8560, 0.8101, 0.3244},
1587                             {0.0023, 0.0108, 0.0079, 0.0049, 2.9305, 1.8473, 1.3830, 0.5775},
1588                             {0.0122, 0.0186, 0.0128, 0.0029, 2.1956, 1.3914, 0.5269, 1.0969},
1589                             {0.0033, 0.0097, 0.0074, 0.0017, 2.1390, 0.1310, 0.5053, 1.1234},
1590                             {0.0104, 0.0012, 0.0130, 0.0013, 2.3245, 0.6883, 0.9553, 0.5956},
1591                             {0.0083, 0.0048, 0.0048, 0.0018, 2.9457, 0.6589, 1.2839, 0.7465},
1592                             {0.0112, 0.0148, 0.0051, 0.0040, 2.1775, 1.7562, 1.3573, 0.5653},
1593                             {0.0120, 0.0096, 0.0163, 0.0024, 1.3642, 0.5761, 0.0222, 0.4604},
1594                             {0.0166, 0.0117, 0.0084, 0.0009, 2.0378, 0.0877, 0.3153, 0.1669},
1595                             {0.0184, 0.0181, 0.0105, 0.0061, 3.0140, 2.0353, 1.3437, 1.2154},
1596                             {0.0156, 0.0103, 0.0081, 0.0007, 1.7236, 1.7334, 1.1225, 0.8141},
1597                             {0.0123, 0.0111, 0.0086, 0.0034, 2.8389, 1.5805, 0.0658, 0.3745},
1598                             {0.0122, 0.0093, 0.0069, 0.0030, 1.3305, 0.6095, 1.3544, 1.0004},
1599                             {0.0164, 0.0089, 0.0013, 0.0031, 1.6222, 0.5727, 0.1916, 1.2456},
1600                             {0.0143, 0.0036, 0.0112, 0.0014, 2.9718, 1.6541, 0.3906, 0.6607},
1601                             {0.0181, 0.0081, 0.0015, 0.0035, 2.5648, 0.3615, 0.3317, 0.4304},
1602                             {0.0182, 0.0134, 0.0042, 0.0028, 1.2501, 2.0225, 0.1822, 0.2684},
1603                             {0.0196, 0.0046, 0.0091, 0.0029, 2.2566, 1.1413, 0.2947, 0.4836},
1604                             {0.0194, 0.0120, 0.0080, 0.0026, 0.6228, 0.4399, 0.1849, 1.2185},
1605                             {0.0171, 0.0050, 0.0052, 0.0040, 2.7070, 0.7457, 1.0050, 0.4375},
1606                             {0.0223, 0.0155, 0.0091, 0.0014, 2.2510, 0.0226, 0.5278, 0.9606},
1607                             {0.0189, 0.0077, 0.0197, 0.0033, 0.9264, 0.8394, 1.2462, 0.6076},
1608                             {0.0089, 0.0181, 0.0032, 0.0054, 0.8931, 1.4755, 0.1916, 0.8407},
1609                             {0.0155, 0.0077, 0.0061, 0.0012, 0.1528, 0.4265, 0.4886, 0.0510},
1610                             {0.0088, 0.0099, 0.0114, 0.0012, 1.9023, 0.1775, 0.0271, 1.1395},
1611                             {0.0109, 0.0106, 0.0028, 0.0027, 0.5548, 0.0210, 1.3142, 0.5683},
1612                             {0.0082, 0.0041, 0.0044, 0.0043, 2.7331, 1.9869, 1.1365, 0.6074},
1613                             {0.0075, 0.0139, 0.0085, 0.0015, 0.2715, 0.4933, 0.9131, 1.2118},
1614                             {0.0105, 0.0125, 0.0073, 0.0048, 1.4184, 1.6238, 0.9015, 0.9230},
1615                             {0.0277, 0.0081, 0.0058, 0.0033, 0.1277, 1.5198, 1.4977, 0.0958},
1616                             {0.0114, 0.0293, 0.0091, 0.0027, 1.8356, 1.9889, 0.8336, 0.0298},
1617                             {0.0147, 0.0161, 0.0042, 0.0074, 0.1122, 1.8607, 0.6541, 0.0888},
1618                             {0.0206, 0.0058, 0.0086, 0.0009, 2.8307, 2.0617, 0.3877, 0.2164},
1619                             {0.0165, 0.0173, 0.0105, 0.0026, 0.9997, 1.2328, 1.4245, 0.6943},
1620                             {0.0044, 0.0182, 0.0091, 0.0014, 3.0848, 1.3357, 0.5952, 0.8780},
1621                             {0.0194, 0.0087, 0.0056, 0.0020, 3.1364, 0.1080, 1.1027, 0.1262},
1622                             {0.0123, 0.0043, 0.0095, 0.0033, 0.5469, 1.9568, 0.8445, 0.4266},
1623                             {0.0150, 0.0127, 0.0049, 0.0043, 1.6956, 1.3601, 0.8500, 1.1742},
1624                             {0.0115, 0.0062, 0.0047, 0.0006, 2.1551, 0.6965, 0.1356, 0.7501},
1625                             {0.0090, 0.0063, 0.0063, 0.0028, 1.7330, 0.2039, 0.8943, 1.2285},
1626                             {0.0140, 0.0106, 0.0039, 0.0009, 1.1902, 0.8273, 1.4574, 0.3725},
1627                             {0.0198, 0.0057, 0.0025, 0.0016, 0.0369, 0.5238, 0.9717, 0.2579},
1628                             {0.0086, 0.0060, 0.0057, 0.0003, 0.1255, 1.0270, 1.2220, 0.5405},
1629                             {0.0231, 0.0214, 0.0044, 0.0017, 0.7016, 1.1596, 1.0214, 0.8180},
1630                             {0.0152, 0.0100, 0.0117, 0.0005, 0.2866, 0.2131, 1.2717, 0.5844},
1631                             {0.0100, 0.0083, 0.0037, 0.0015, 3.1330, 1.8672, 0.8620, 0.1803},
1632                             {0.0138, 0.0096, 0.0064, 0.0034, 2.1978, 0.0754, 1.2565, 0.2397},
1633                             {0.0199, 0.0184, 0.0131, 0.0027, 1.3119, 2.0688, 1.0833, 0.9499},
1634                             {0.0041, 0.0233, 0.0067, 0.0054, 1.9096, 2.0399, 1.0795, 1.0596},
1635                             {0.0247, 0.0088, 0.0063, 0.0010, 2.9687, 1.0976, 0.2781, 0.4587},
1636                             {0.0108, 0.0041, 0.0111, 0.0028, 0.4263, 1.9856, 1.0337, 1.0204},
1637                             {0.0115, 0.0118, 0.0055, 0.0038, 2.4529, 0.9822, 0.5233, 1.1745},
1638                             {0.0107, 0.0163, 0.0067, 0.0024, 1.3844, 1.9843, 0.2476, 0.0320},
1639                             {0.0051, 0.0059, 0.0061, 0.0005, 1.8910, 1.3375, 0.7820, 0.0796},
1640                             {0.0024, 0.0083, 0.0101, 0.0022, 1.5223, 1.0696, 0.9698, 0.7865},
1641                             {0.0216, 0.0123, 0.0095, 0.0015, 2.6832, 0.6256, 1.1340, 0.9306},
1642                             {0.0065, 0.0182, 0.0075, 0.0017, 0.9990, 1.2047, 0.7111, 1.1854},
1643                             {0.0170, 0.0068, 0.0106, 0.0010, 0.4692, 0.4148, 1.2138, 0.7078},
1644                             {0.0043, 0.0183, 0.0089, 0.0007, 0.8870, 0.0637, 0.1933, 0.5632},
1645                             {0.0123, 0.0020, 0.0018, 0.0016, 2.0266, 0.4336, 0.8154, 1.2074},
1646                             {0.0138, 0.0064, 0.0043, 0.0024, 2.4468, 0.7047, 0.9627, 0.2181},
1647                             {0.0178, 0.0016, 0.0098, 0.0026, 1.9066, 1.7179, 0.8600, 0.3462},
1648                             {0.0146, 0.0043, 0.0039, 0.0019, 0.7890, 0.7445, 1.2881, 0.0924},
1649                             {0.0102, 0.0103, 0.0132, 0.0040, 3.0502, 1.7786, 1.4099, 0.0962},
1650                             {0.0114, 0.0123, 0.0019, 0.0019, 0.3048, 0.7776, 0.1184, 1.2314},
1651                             {0.0135, 0.0062, 0.0101, 0.0008, 0.5751, 0.5802, 1.4956, 1.2402},
1652                             {0.0104, 0.0134, 0.0129, 0.0010, 0.2119, 0.0125, 1.1365, 0.8467},
1653                             {0.0134, 0.0050, 0.0081, 0.0016, 1.6876, 1.8856, 0.4082, 0.1917},
1654                             {0.0100, 0.0196, 0.0054, 0.0030, 0.1195, 0.3899, 0.1431, 0.4342},
1655                             {0.0061, 0.0077, 0.0007, 0.0039, 0.6148, 1.0659, 0.8027, 1.2052},
1656                             {0.0048, 0.0191, 0.0069, 0.0033, 0.8793, 0.4803, 0.3874, 0.7770},
1657                             {0.0057, 0.0136, 0.0015, 0.0025, 0.5037, 0.1824, 0.6932, 0.8595},
1658                             {0.0091, 0.0177, 0.0092, 0.0042, 2.4779, 1.3925, 0.1751, 0.1453},
1659                             {0.0065, 0.0299, 0.0017, 0.0008, 1.4181, 0.2696, 0.0579, 0.7625},
1660                             {0.0376, 0.0202, 0.0033, 0.0016, 0.7216, 1.7748, 0.9500, 0.5592},
1661                             {0.0097, 0.0109, 0.0113, 0.0033, 2.5866, 1.9141, 0.9019, 0.0441},
1662                             {0.0128, 0.0008, 0.0060, 0.0046, 0.4965, 0.6755, 0.2703, 0.1433},
1663                             {0.0056, 0.0097, 0.0155, 0.0017, 1.0428, 1.1469, 0.8274, 1.1227},
1664                             {0.0029, 0.0133, 0.0109, 0.0049, 0.3445, 1.9402, 0.0050, 0.4723},
1665                             {0.0098, 0.0128, 0.0057, 0.0024, 1.8701, 0.9815, 1.3405, 1.0143},
1666                             {0.0111, 0.0250, 0.0034, 0.0010, 2.0078, 0.2191, 0.1272, 0.8923},
1667                             {0.0197, 0.0067, 0.0107, 0.0032, 0.1235, 0.5695, 0.7542, 1.1683},
1668                             {0.0181, 0.0207, 0.0094, 0.0072, 2.6084, 1.3190, 0.7297, 0.6604},
1669                             {0.0129, 0.0115, 0.0079, 0.0069, 3.0786, 1.1767, 1.5533, 0.7349},
1670                             {0.0122, 0.0238, 0.0129, 0.0022, 2.6770, 0.8137, 1.2751, 1.0020},
1671                             {0.0070, 0.0142, 0.0113, 0.0011, 2.6926, 1.5312, 0.9978, 0.8892},
1672                             {0.0050, 0.0141, 0.0180, 0.0033, 0.1019, 1.4817, 0.4370, 1.0886},
1673                             {0.0101, 0.0145, 0.0032, 0.0017, 1.8140, 1.2059, 0.2978, 1.1480},
1674                             {0.0175, 0.0151, 0.0098, 0.0019, 0.3334, 0.0315, 1.0528, 0.7383},
1675                             {0.0084, 0.0301, 0.0058, 0.0013, 0.2123, 1.2699, 0.5463, 0.5370},
1676                             {0.0119, 0.0071, 0.0121, 0.0016, 1.3785, 0.5978, 1.1371, 0.4401},
1677                             {0.0140, 0.0171, 0.0112, 0.0041, 2.2485, 1.4067, 0.2384, 0.4286},
1678                             {0.0195, 0.0166, 0.0110, 0.0038, 2.2849, 0.4291, 0.3410, 0.1126},
1679                             {0.0198, 0.0193, 0.0033, 0.0058, 2.2928, 0.0158, 0.0165, 0.7798},
1680                             {0.0050, 0.0189, 0.0036, 0.0021, 0.0582, 0.8407, 1.1294, 0.9280},
1681                             {0.0070, 0.0092, 0.0036, 0.0013, 1.1529, 1.9635, 1.0651, 0.0392},
1682                             {0.0027, 0.0058, 0.0051, 0.0048, 0.7714, 0.4794, 0.6610, 0.9076},
1683                             {0.0262, 0.0160, 0.0036, 0.0021, 2.4938, 1.8068, 0.5645, 0.0898},
1684                             {0.0126, 0.0157, 0.0105, 0.0020, 1.8734, 0.0085, 1.2675, 0.1232},
1685                             {0.0122, 0.0124, 0.0018, 0.0032, 1.2492, 1.3196, 0.6273, 0.3287},
1686                             {0.0131, 0.0114, 0.0049, 0.0014, 2.1214, 1.4683, 0.2798, 0.1446},
1687                             {0.0098, 0.0173, 0.0043, 0.0010, 0.8372, 0.9289, 0.3664, 1.1893},
1688                             {0.0056, 0.0096, 0.0006, 0.0015, 1.1941, 0.2447, 0.6154, 0.1081},
1689                             {0.0268, 0.0128, 0.0087, 0.0026, 1.3308, 0.6560, 0.1689, 0.7455},
1690                             {0.0195, 0.0086, 0.0133, 0.0039, 2.1138, 1.5816, 0.4573, 0.9342},
1691                             {0.0046, 0.0104, 0.0042, 0.0057, 0.3878, 0.5130, 1.4724, 0.0190},
1692                             {0.0033, 0.0215, 0.0134, 0.0027, 2.2140, 0.8516, 1.0710, 0.9896},
1693                             {0.0080, 0.0049, 0.0063, 0.0008, 2.6538, 1.8995, 1.2771, 0.6742},
1694                             {0.0111, 0.0076, 0.0082, 0.0039, 1.1687, 1.7572, 1.1559, 0.9726},
1695                             {0.0055, 0.0043, 0.0068, 0.0041, 2.1161, 1.4606, 1.1673, 1.2388},
1696                             {0.0151, 0.0276, 0.0042, 0.0026, 0.3085, 0.6697, 0.6069, 1.1600},
1697                             {0.0328, 0.0099, 0.0118, 0.0011, 1.9957, 0.2306, 0.9909, 0.3344},
1698                             {0.0191, 0.0089, 0.0038, 0.0043, 2.3634, 1.9017, 0.6815, 0.0040},
1699                             {0.0106, 0.0200, 0.0047, 0.0017, 2.5114, 0.5668, 0.6796, 1.1615},
1700                             {0.0051, 0.0082, 0.0032, 0.0057, 1.5984, 0.9255, 0.8304, 1.2412},
1701                             {0.0132, 0.0195, 0.0104, 0.0039, 0.1513, 1.6562, 0.4538, 0.9850},
1702                             {0.0126, 0.0129, 0.0054, 0.0020, 1.9958, 1.2345, 0.0817, 0.5748},
1703                             {0.0180, 0.0114, 0.0025, 0.0019, 0.3068, 1.5582, 0.7094, 0.7932},
1704                             {0.0014, 0.0179, 0.0113, 0.0016, 0.6548, 0.0357, 0.3491, 0.3729},
1705                             {0.0133, 0.0081, 0.0108, 0.0010, 1.2681, 0.0784, 0.8892, 1.1707},
1706                             {0.0094, 0.0149, 0.0071, 0.0025, 1.9509, 1.4684, 0.2666, 0.2388},
1707                             {0.0019, 0.0126, 0.0041, 0.0055, 2.5134, 1.7356, 0.9304, 0.1254},
1708                             {0.0212, 0.0222, 0.0111, 0.0037, 1.8128, 0.7586, 1.5264, 0.5764},
1709                             {0.0018, 0.0232, 0.0032, 0.0021, 1.8452, 1.7118, 0.4042, 0.3207},
1710                             {0.0116, 0.0129, 0.0032, 0.0031, 1.7869, 1.8972, 1.0492, 0.4099},
1711                             {0.0204, 0.0061, 0.0045, 0.0015, 1.5150, 0.1407, 0.8372, 0.2237},
1712                             {0.0110, 0.0303, 0.0076, 0.0019, 0.4509, 1.1437, 0.7510, 1.2134},
1713                             {0.0144, 0.0179, 0.0081, 0.0015, 0.1253, 1.4838, 0.6993, 1.2482},
1714                             {0.0032, 0.0323, 0.0085, 0.0012, 1.2771, 2.0519, 0.7691, 0.5044},
1715                             {0.0172, 0.0266, 0.0050, 0.0012, 0.0311, 2.0403, 1.4857, 0.0537},
1716                             {0.0233, 0.0184, 0.0080, 0.0044, 2.5444, 1.9774, 0.2290, 1.2328},
1717                             {0.0149, 0.0082, 0.0046, 0.0018, 1.1703, 2.0565, 1.2349, 0.3740},
1718                             {0.0241, 0.0233, 0.0117, 0.0035, 2.0348, 1.0137, 0.7176, 0.7898},
1719                             {0.0120, 0.0068, 0.0069, 0.0023, 2.2351, 1.9502, 0.7107, 0.8255},
1720                             {0.0180, 0.0071, 0.0061, 0.0029, 3.0668, 0.5662, 0.4843, 0.3449},
1721                             {0.0046, 0.0176, 0.0146, 0.0005, 2.5892, 1.6997, 0.5470, 0.5327},
1722                             {0.0217, 0.0279, 0.0095, 0.0017, 3.1101, 0.1986, 0.7152, 0.8793},
1723                             {0.0076, 0.0038, 0.0048, 0.0013, 2.5997, 1.8645, 0.6158, 1.0507},
1724                             {0.0114, 0.0122, 0.0160, 0.0053, 3.0017, 0.2995, 0.6446, 0.0752},
1725                             {0.0117, 0.0118, 0.0054, 0.0031, 0.5203, 0.2113, 0.4019, 0.2653},
1726                             {0.0170, 0.0176, 0.0109, 0.0014, 2.9938, 0.4597, 0.9603, 0.5441},
1727                             {0.0032, 0.0166, 0.0104, 0.0018, 2.2736, 0.1183, 1.5353, 0.9630},
1728                             {0.0140, 0.0026, 0.0123, 0.0038, 0.9841, 0.5333, 0.1106, 0.9818},
1729                             {0.0186, 0.0095, 0.0154, 0.0044, 1.0710, 1.1085, 0.5786, 0.4476},
1730                             {0.0036, 0.0074, 0.0065, 0.0054, 0.1991, 0.4954, 1.4186, 1.2296},
1731                             {0.0171, 0.0106, 0.0057, 0.0015, 1.3980, 1.9400, 0.5324, 0.2100},
1732                             {0.0017, 0.0108, 0.0061, 0.0068, 0.2364, 1.9401, 0.6312, 0.6766},
1733                             {0.0072, 0.0100, 0.0064, 0.0027, 2.6298, 1.9040, 1.5324, 0.4255},
1734                             {0.0049, 0.0078, 0.0108, 0.0019, 2.8918, 0.5057, 1.0193, 0.0276},
1735                             {0.0134, 0.0150, 0.0094, 0.0052, 2.7824, 1.4790, 1.0799, 0.1170},
1736                             {0.0059, 0.0174, 0.0037, 0.0020, 1.1473, 1.5172, 1.4863, 0.7157},
1737                             {0.0104, 0.0147, 0.0050, 0.0034, 2.8548, 1.6373, 1.1067, 0.1058},
1738                             {0.0078, 0.0141, 0.0156, 0.0013, 0.3839, 2.0424, 1.2524, 1.2236},
1739                             {0.0168, 0.0060, 0.0140, 0.0059, 0.3661, 0.1142, 1.0174, 0.6876},
1740                             {0.0075, 0.0126, 0.0113, 0.0044, 1.0701, 1.7237, 0.3929, 0.5876},
1741                             {0.0105, 0.0052, 0.0051, 0.0033, 2.8024, 1.7995, 0.9513, 0.0596},
1742                             {0.0313, 0.0098, 0.0116, 0.0041, 0.0316, 2.0876, 0.9225, 0.2930},
1743                             {0.0095, 0.0102, 0.0045, 0.0034, 1.0195, 0.1796, 0.3268, 0.1556},
1744                             {0.0100, 0.0119, 0.0015, 0.0008, 1.3102, 1.9364, 1.4832, 0.9270},
1745                             {0.0073, 0.0040, 0.0015, 0.0031, 1.0762, 0.4398, 0.4016, 0.7630},
1746                             {0.0059, 0.0223, 0.0041, 0.0047, 1.2775, 0.9970, 1.1847, 0.4077},
1747                             {0.0288, 0.0175, 0.0099, 0.0036, 1.2865, 0.8372, 0.3624, 0.3249},
1748                             {0.0038, 0.0037, 0.0070, 0.0042, 0.2823, 1.3240, 0.6374, 1.0790},
1749                             {0.0046, 0.0203, 0.0088, 0.0013, 0.0241, 0.5188, 1.1429, 0.6752},
1750                             {0.0085, 0.0225, 0.0054, 0.0019, 1.2467, 0.1586, 0.5029, 0.9428},
1751                             {0.0200, 0.0110, 0.0077, 0.0034, 1.7224, 1.0048, 1.4214, 1.0760},
1752                             {0.0107, 0.0110, 0.0062, 0.0036, 1.3003, 1.8216, 1.4260, 0.8645},
1753                             {0.0098, 0.0108, 0.0033, 0.0040, 2.3488, 1.6367, 1.2396, 1.1924},
1754                             {0.0100, 0.0072, 0.0106, 0.0017, 0.9517, 1.7579, 1.1148, 0.1767},
1755                             {0.0070, 0.0092, 0.0032, 0.0028, 0.3840, 0.0812, 0.2991, 0.2998},
1756                             {0.0174, 0.0177, 0.0100, 0.0008, 0.9373, 0.4938, 0.3044, 0.3579},
1757                             {0.0092, 0.0134, 0.0080, 0.0009, 1.2092, 0.4288, 0.5479, 0.9964},
1758                             {0.0037, 0.0164, 0.0051, 0.0016, 2.1923, 0.8158, 0.0667, 1.0408},
1759                             {0.0050, 0.0137, 0.0139, 0.0019, 0.0359, 0.0012, 1.0014, 0.5098},
1760                             {0.0055, 0.0043, 0.0076, 0.0029, 2.3821, 1.3232, 0.4201, 1.2520},
1761                             {0.0077, 0.0066, 0.0113, 0.0029, 2.8059, 2.0480, 0.2036, 0.0844},
1762                             {0.0209, 0.0207, 0.0049, 0.0017, 0.0976, 1.6299, 1.1144, 1.0213},
1763                             {0.0100, 0.0192, 0.0047, 0.0010, 1.0883, 0.9764, 0.2155, 1.1940},
1764                             {0.0038, 0.0075, 0.0128, 0.0014, 0.6894, 0.8497, 1.5570, 0.2692},
1765                             {0.0110, 0.0042, 0.0027, 0.0056, 1.7175, 1.7685, 0.6648, 1.1603},
1766                             {0.0133, 0.0046, 0.0028, 0.0042, 1.2470, 1.3693, 0.4291, 0.1843},
1767                             {0.0084, 0.0207, 0.0192, 0.0010, 1.7049, 0.6654, 0.1892, 0.9108},
1768                             {0.0114, 0.0192, 0.0111, 0.0035, 0.1111, 0.2245, 0.6405, 0.4412},
1769                             {0.0050, 0.0130, 0.0058, 0.0041, 2.9179, 1.3901, 0.5407, 0.4174},
1770                             {0.0180, 0.0028, 0.0052, 0.0020, 0.7291, 1.9041, 1.0980, 0.4874},
1771                             {0.0177, 0.0050, 0.0144, 0.0021, 1.2765, 1.9586, 1.5685, 0.4539},
1772                             {0.0135, 0.0226, 0.0091, 0.0029, 2.7607, 1.1069, 1.4427, 1.2103},
1773                             {0.0076, 0.0059, 0.0095, 0.0032, 2.3900, 0.3554, 0.8471, 1.1871},
1774                             {0.0065, 0.0125, 0.0113, 0.0019, 0.4172, 0.9931, 0.7135, 0.3500},
1775                             {0.0100, 0.0019, 0.0052, 0.0018, 0.7083, 1.9296, 1.2251, 0.3835},
1776                             {0.0175, 0.0027, 0.0041, 0.0032, 0.3757, 1.3088, 0.7385, 0.0136},
1777                             {0.0131, 0.0012, 0.0037, 0.0018, 2.7581, 0.4501, 0.8392, 0.4057},
1778                             {0.0162, 0.0055, 0.0063, 0.0008, 0.9309, 1.9077, 0.6246, 0.6869},
1779                             {0.0092, 0.0066, 0.0061, 0.0027, 0.4270, 0.5592, 0.5984, 0.3664},
1780                             {0.0093, 0.0155, 0.0096, 0.0012, 0.0888, 0.0138, 0.9761, 0.9387},
1781                             {0.0232, 0.0030, 0.0012, 0.0018, 1.0103, 1.3105, 1.1543, 0.4580},
1782                             {0.0091, 0.0138, 0.0117, 0.0010, 2.0275, 0.1862, 1.0082, 0.7152},
1783                             {0.0046, 0.0146, 0.0058, 0.0006, 2.7164, 0.4973, 0.3711, 0.8929},
1784                             {0.0124, 0.0039, 0.0064, 0.0029, 0.0734, 0.5001, 0.1700, 0.7015},
1785                             {0.0024, 0.0064, 0.0024, 0.0009, 0.9627, 1.4399, 0.3649, 0.2004},
1786                             {0.0037, 0.0133, 0.0097, 0.0031, 0.2014, 1.1774, 1.2642, 0.6371},
1787                             {0.0344, 0.0101, 0.0085, 0.0027, 1.4060, 0.1155, 0.2356, 0.0542},
1788                             {0.0073, 0.0013, 0.0048, 0.0004, 2.8539, 1.5881, 0.3362, 0.6969},
1789                             {0.0128, 0.0161, 0.0071, 0.0053, 2.3949, 0.1941, 0.1206, 0.1499},
1790                             {0.0135, 0.0178, 0.0122, 0.0061, 2.3731, 0.0056, 1.3851, 0.3842},
1791                             {0.0097, 0.0247, 0.0013, 0.0018, 0.8335, 1.3187, 1.3054, 0.6448},
1792                             {0.0045, 0.0117, 0.0104, 0.0024, 2.5110, 1.1067, 0.9396, 0.5052},
1793                             {0.0072, 0.0117, 0.0074, 0.0039, 0.7208, 0.6408, 1.1329, 0.5908},
1794                             {0.0093, 0.0234, 0.0133, 0.0038, 2.3006, 0.2541, 1.1034, 0.2324},
1795                             {0.0109, 0.0205, 0.0155, 0.0067, 1.5636, 2.0396, 0.8667, 0.0112},
1796                             {0.0090, 0.0172, 0.0041, 0.0018, 0.2388, 1.4317, 0.2854, 1.1759},
1797                             {0.0192, 0.0101, 0.0088, 0.0010, 2.1545, 0.7999, 1.5177, 0.3061},
1798                             {0.0105, 0.0095, 0.0007, 0.0018, 1.3741, 1.2807, 0.6832, 0.7749},
1799                             {0.0064, 0.0121, 0.0078, 0.0034, 0.5180, 1.6747, 1.3113, 0.2402},
1800                             {0.0039, 0.0031, 0.0129, 0.0026, 0.7717, 1.4115, 0.7525, 0.0632},
1801                             {0.0099, 0.0237, 0.0029, 0.0057, 1.5999, 1.6389, 0.6722, 0.7793},
1802                             {0.0031, 0.0119, 0.0068, 0.0051, 1.4428, 1.6590, 0.6001, 0.3696},
1803                             {0.0016, 0.0177, 0.0055, 0.0007, 1.3757, 0.5399, 1.4051, 0.3330},
1804                             {0.0132, 0.0062, 0.0092, 0.0042, 1.8616, 1.7299, 1.2276, 0.3553},
1805                             {0.0102, 0.0149, 0.0062, 0.0026, 3.0159, 0.9631, 0.4066, 0.7634},
1806                             {0.0202, 0.0032, 0.0028, 0.0011, 3.0440, 1.6730, 0.0659, 0.4190},
1807                             {0.0040, 0.0199, 0.0072, 0.0049, 2.8376, 1.1899, 0.6880, 0.3716},
1808                             {0.0072, 0.0105, 0.0133, 0.0076, 2.2572, 0.5076, 0.6271, 0.1691},
1809                             {0.0101, 0.0109, 0.0068, 0.0055, 0.2971, 0.5915, 1.1698, 0.0515},
1810                             {0.0170, 0.0167, 0.0075, 0.0015, 0.3839, 0.9573, 0.6347, 0.6510},
1811                             {0.0117, 0.0061, 0.0030, 0.0009, 2.6093, 0.4259, 0.4273, 0.8861},
1812                             {0.0042, 0.0022, 0.0094, 0.0020, 1.3445, 0.5421, 0.6545, 0.9748},
1813                             {0.0178, 0.0110, 0.0057, 0.0070, 0.9030, 1.1982, 0.9715, 1.1535},
1814                             {0.0074, 0.0145, 0.0118, 0.0015, 3.0026, 1.8525, 0.9991, 0.5912},
1815                             {0.0235, 0.0126, 0.0106, 0.0017, 1.5768, 0.9108, 0.5716, 0.2727},
1816                             {0.0167, 0.0148, 0.0116, 0.0017, 1.0353, 1.7619, 0.3951, 0.2947},
1817                             {0.0131, 0.0139, 0.0109, 0.0044, 2.2321, 0.1821, 1.5191, 0.3270},
1818                             {0.0144, 0.0137, 0.0050, 0.0013, 3.1220, 0.4640, 1.2267, 1.1019},
1819                             {0.0214, 0.0026, 0.0054, 0.0024, 2.3978, 1.7252, 0.1594, 0.6990},
1820                             {0.0141, 0.0074, 0.0069, 0.0013, 1.0683, 0.0628, 0.9449, 0.0837},
1821                             {0.0116, 0.0226, 0.0047, 0.0007, 2.1564, 1.8269, 0.8714, 1.2005},
1822                             {0.0151, 0.0241, 0.0097, 0.0034, 0.2904, 0.6657, 0.5823, 1.0473},
1823                             {0.0158, 0.0054, 0.0013, 0.0023, 2.0291, 0.1255, 0.2251, 0.1777},
1824                             {0.0095, 0.0194, 0.0045, 0.0010, 0.1391, 0.6952, 0.7655, 0.3528},
1825                             {0.0323, 0.0077, 0.0093, 0.0025, 2.5059, 0.8143, 0.9753, 0.4365},
1826                             {0.0088, 0.0196, 0.0029, 0.0056, 1.0531, 1.2262, 0.7902, 0.5696},
1827                             {0.0058, 0.0103, 0.0016, 0.0027, 1.3645, 1.0926, 0.6892, 0.1396},
1828                             {0.0048, 0.0235, 0.0062, 0.0052, 0.1360, 2.0105, 1.4386, 0.0478},
1829                             {0.0180, 0.0097, 0.0112, 0.0019, 2.5605, 1.0203, 0.3819, 1.1079},
1830                             {0.0189, 0.0054, 0.0045, 0.0030, 2.4685, 1.2378, 1.3858, 1.0875},
1831                             {0.0201, 0.0094, 0.0029, 0.0010, 0.9477, 1.4278, 0.8179, 1.0957},
1832                             {0.0079, 0.0127, 0.0083, 0.0043, 1.3163, 1.3207, 0.2192, 0.0845},
1833                             {0.0144, 0.0169, 0.0012, 0.0010, 2.0262, 1.9272, 1.4234, 1.2528},
1834                             {0.0083, 0.0047, 0.0096, 0.0035, 3.1353, 1.9535, 0.7535, 0.9366},
1835                             {0.0129, 0.0134, 0.0091, 0.0025, 0.5241, 0.5672, 1.3602, 0.9937},
1836                             {0.0129, 0.0165, 0.0059, 0.0034, 2.0923, 1.1969, 1.0181, 0.3233},
1837                             {0.0218, 0.0118, 0.0010, 0.0037, 1.5175, 0.3109, 0.3593, 0.8776},
1838                             {0.0020, 0.0075, 0.0032, 0.0020, 1.2901, 0.8482, 0.6895, 0.2847},
1839                             {0.0136, 0.0145, 0.0114, 0.0019, 3.0816, 1.1904, 1.2484, 0.1264},
1840                             {0.0126, 0.0114, 0.0034, 0.0060, 2.5748, 1.5052, 1.2225, 0.1405},
1841                             {0.0163, 0.0186, 0.0033, 0.0023, 1.9710, 1.2308, 1.1154, 1.0442},
1842                             {0.0088, 0.0158, 0.0052, 0.0011, 0.7200, 0.2429, 0.3846, 0.5091},
1843                             {0.0083, 0.0065, 0.0064, 0.0042, 1.7709, 1.4932, 1.4849, 0.9873},
1844                             {0.0158, 0.0158, 0.0097, 0.0006, 1.3281, 1.2261, 1.5095, 1.0002},
1845                             {0.0147, 0.0122, 0.0062, 0.0027, 2.6676, 2.0461, 0.4477, 1.1191},
1846                             {0.0119, 0.0136, 0.0100, 0.0039, 2.1697, 1.7528, 1.0626, 0.1126},
1847                             {0.0290, 0.0204, 0.0063, 0.0020, 1.2412, 1.8353, 0.1385, 1.2566}}; 
1848
1849   float v2=fFitHighV2->Eval(3.);
1850   float v3=fFitHighV3->Eval(3.);
1851   float v4=fFitHighV4->Eval(3.);
1852   float v5=0;
1853   float Psi5=0;
1854
1855   if(fSimulate==3){
1856     fSimFlowMark=int(0.5+500*gRandom->Rndm());
1857     int aa=fSimFlowMark;
1858     v2=3*FlowValues[aa][0];
1859     v3=3*FlowValues[aa][1];
1860     v4=3*FlowValues[aa][2];
1861     v5=3*FlowValues[aa][3];
1862     fSimPsi2=FlowValues[aa][4];
1863     fSimPsi3=FlowValues[aa][5];
1864     fSimPsi4=FlowValues[aa][6];
1865     Psi5=FlowValues[aa][7];
1866    
1867     if(fSimFlowMark>=500)fSimFlowMark=0;
1868   }
1869   if(fSimulate==1){
1870     fSimPsi2=2*TMath::Pi()*gRandom->Rndm();
1871     fSimPsi3=2*TMath::Pi()*gRandom->Rndm();
1872     fSimPsi4=fSimPsi2;
1873   }
1874   
1875   float randAng=2*TMath::Pi()*gRandom->Rndm();
1876   fSimPsi2+=randAng;
1877   fSimPsi3+=randAng;
1878   fSimPsi4+=randAng;
1879   Psi5+=randAng;
1880   
1881   Int_t lead=0;
1882   rGoodTracks[0]=0;
1883   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());
1884   
1885   SimFlow->SetParameters(v2,fSimPsi2,v3,fSimPsi3,v4,fSimPsi4,v5,Psi5);
1886   // SimFlow->SetParameters(0,0,0,0);
1887   TF1 *SimNear=new TF1("SimNear","exp(-0.5*x*x/[0]/[0])",-TMath::Pi(),TMath::Pi());
1888   SimNear->SetParameter(0,0.3);
1889   TF1 *SimAway=new TF1("SimAway","exp(-0.5*x*x/[0]/[0])",-TMath::Pi(),TMath::Pi());
1890   SimAway->SetParameter(0,0.5);//0.5 for DiJet 0.3 for cone
1891
1892   //used fixed v2,v3,v4 for mixing
1893   v2=0.07,v3=0.05,v4=0.03;
1894   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());
1895   SimAway2->SetParameter(0,0.3);//0.5 for DiJet 0.3 for cone
1896   SimAway2->SetParameter(1,1.4);//Cone Angle
1897
1898   TF1 *AwayProb=new TF1("AwayProb","[0]");
1899   // TF1 *AwayProb=new TF1("AwayProb","[0]*cos(2*x)*cos(2*x)");
1900   AwayProb->SetParameter(0,0.5);
1901   // AwayProb->SetParameter(0,1);
1902
1903   // 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);
1904   // SimAway->SetParameters(v2,v3,v4);
1905   // 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);
1906   //SimAway->SetParameters(v2,v3,v4);
1907  
1908   
1909   Float_t TrigAngle;
1910   Float_t sPt,sPhi;
1911   Int_t InAccpt;
1912   Int_t AccptPercent=4;//1 over this is % in aceptance on away-side 
1913   Int_t AwaySidePM=0;
1914
1915   Int_t AwaySide1=1;
1916   //Use SimAway1 or 2
1917   // if(gRandom->Rndm()<AwayProb->Eval(RPAngle))AwaySide1=1;
1918   //else AwaySide1=2;
1919   if(fSimNJet<1)fSimNJet=1;
1920   for(int i=0;i<gRandom->Poisson(fSimNBgPart);i++){
1921     sPt=1.5;
1922     rPt[rGoodTracks[0]]=sPt;
1923     rEta[rGoodTracks[0]]=0;
1924     sPhi=SimFlow->GetRandom();
1925     if(sPhi<fdPhiMin)sPhi+=2*fPi;
1926     if(sPhi>fdPhiMax)sPhi-=2*fPi;
1927     rPhi[rGoodTracks[0]]=sPhi;
1928     rCharge[rGoodTracks[0]]=1;
1929     rEff[rGoodTracks[0]]=1;
1930     rV2[rGoodTracks[0]]=v2;
1931     rV3[rGoodTracks[0]]=v3;
1932     rV4[rGoodTracks[0]]=v4;
1933     rNPtAssoc3[rGoodTracks[0]]=0;
1934     for(int apt3=0;apt3<fNAPt3Bins;apt3++){
1935       if(sPt<fPtAssoc3Array2[apt3]&&sPt>=fPtAssoc3Array1[apt3]){
1936         rPtAssoc3[rGoodTracks[0]][rNPtAssoc3[rGoodTracks[0]]]=apt3;
1937         rNPtAssoc3[rGoodTracks[0]]++;
1938       }
1939     } 
1940     rGoodTracks[0]++;
1941   }
1942   for(int i=0;i<gRandom->Poisson(fSimNJet);i++){
1943     TrigAngle=SimFlow->GetRandom();
1944     if(gRandom->Rndm()<AwayProb->Eval(TrigAngle-fSimPsi2))AwaySide1=1;
1945     else AwaySide1=2;
1946     sPhi=TrigAngle;
1947     if(sPhi<fdPhiMin)sPhi+=2*fPi;
1948     if(sPhi>fdPhiMax)sPhi-=2*fPi;
1949     sPt=3.1;
1950     rPt[rGoodTracks[0]]=sPt;
1951     rEta[rGoodTracks[0]]=0;
1952     rPhi[rGoodTracks[0]]=sPhi;
1953     rCharge[rGoodTracks[0]]=1;
1954     rEff[rGoodTracks[0]]=1;
1955     rV2[rGoodTracks[0]]=v2;
1956     rV3[rGoodTracks[0]]=v3;
1957     rV4[rGoodTracks[0]]=v4;
1958     rNPtAssoc3[rGoodTracks[0]]=0;
1959     lead=rGoodTracks[0];
1960     rGoodTracks[0]++;
1961     
1962     for(int k=0;k<gRandom->Poisson(fSimNJetPart);k++){
1963       sPhi=SimNear->GetRandom()+TrigAngle;
1964       if(sPhi<fdPhiMin)sPhi+=2*fPi;
1965       if(sPhi>fdPhiMax)sPhi-=2*fPi;
1966       sPt=1.5;
1967       rPt[rGoodTracks[0]]=sPt;
1968       rEta[rGoodTracks[0]]=0;
1969       rPhi[rGoodTracks[0]]=sPhi;
1970       rCharge[rGoodTracks[0]]=1;
1971       rEff[rGoodTracks[0]]=1;
1972       rV2[rGoodTracks[0]]=v2;
1973       rV3[rGoodTracks[0]]=v3;
1974       rV4[rGoodTracks[0]]=v4;
1975       rNPtAssoc3[rGoodTracks[0]]=0;
1976       for(int apt3=0;apt3<fNAPt3Bins;apt3++){
1977         if(sPt<fPtAssoc3Array2[apt3]&&sPt>=fPtAssoc3Array1[apt3]){
1978           rPtAssoc3[rGoodTracks[0]][rNPtAssoc3[rGoodTracks[0]]]=apt3;
1979           rNPtAssoc3[rGoodTracks[0]]++;
1980         }
1981       } 
1982       rGoodTracks[0]++;
1983     }
1984
1985     if(gRandom->Rndm()<1./AccptPercent)InAccpt=1;
1986     else InAccpt=0;
1987     if(gRandom->Rndm()<0.5)AwaySidePM=0;
1988     else AwaySidePM=1;
1989     for(int k=0;k<gRandom->Poisson(InAccpt*AccptPercent*fSimNJetPart);k++){
1990       //sPhi=SimAway->GetRandom()+TrigAngle+TMath::Pi();
1991       if(AwaySide1==1)sPhi=SimAway->GetRandom();
1992       else(sPhi=SimAway2->GetRandom());
1993       if(fSimAwayDeflected){
1994         if(sPhi>0&&AwaySidePM)sPhi=-sPhi;
1995         else if(sPhi<0&&!AwaySidePM)sPhi=-sPhi;
1996       }
1997         sPhi+=TrigAngle+fPi;
1998         if(sPhi<fdPhiMin)sPhi+=2*fPi;
1999         if(sPhi>fdPhiMax)sPhi-=2*fPi;
2000         sPt=1.5;
2001         rPt[rGoodTracks[0]]=sPt;
2002         rEta[rGoodTracks[0]]=0;
2003         rPhi[rGoodTracks[0]]=sPhi;
2004         rCharge[rGoodTracks[0]]=1;
2005         rEff[rGoodTracks[0]]=1;
2006         rV2[rGoodTracks[0]]=v2;
2007         rV3[rGoodTracks[0]]=v3;
2008         rV4[rGoodTracks[0]]=v4;
2009         rNPtAssoc3[rGoodTracks[0]]=0;
2010         for(int apt3=0;apt3<fNAPt3Bins;apt3++){
2011           if(sPt<fPtAssoc3Array2[apt3]&&sPt>=fPtAssoc3Array1[apt3]){
2012             rPtAssoc3[rGoodTracks[0]][rNPtAssoc3[rGoodTracks[0]]]=apt3;
2013             rNPtAssoc3[rGoodTracks[0]]++;
2014           }
2015         }
2016         rGoodTracks[0]++;
2017     }
2018
2019
2020   }//njet
2021
2022   return lead;
2023 }
2024
2025 //------------------------------------------------------------
2026 void AliAnalysisTaskDiHadron::Exec(Option_t *)
2027
2028   //Main executable
2029   if(fDEBUG)Printf("Exec");
2030
2031   const int nTPtBins=fNTPtBins;
2032   const int nCentBins=fNCentBins;
2033   for(int ievent=0;ievent<=1;ievent++){
2034     /* removed this cross check b/c not coverity complient
2035     if((!fESD&&!fAOD)&&ievent==0){
2036       if(fDEBUG)Printf("Error: fESD not found");
2037       break;
2038     }
2039     */
2040     if(!fMC&&ievent==1){
2041       break;
2042     }
2043     // Printf("fSimulate %d",fSimulate);
2044     if(fSimulate==1&&ievent==1) break;
2045     if(ievent==1&&!fMCHistos)break;//break out if MC event and we don't have fill of those set
2046     //Secondary check
2047     if(ievent==0){
2048       if(!fAODData){
2049         if(fESD->GetNumberOfTracks()<=0){
2050           if(fDEBUG)Printf("Error: no tracks");
2051           break;
2052         }
2053       }
2054       else{
2055         if(fAOD->GetNTracks()<=0){
2056           if(fDEBUG)Printf("Error: no tracks");
2057           break;
2058         }
2059       }
2060     }
2061     //The previous check doesn't seem to work as a fMC is bad not NULL
2062     if(ievent==1){
2063       if(fMC->GetNumberOfTracks()<=0){
2064         if(fDEBUG)Printf("<=0 MCTracks");
2065         break;
2066       }
2067     }
2068   
2069     //Check for Trigger only on real data
2070     if(!fMC){
2071       if(!fAODData){
2072         if(!CheckTrigger(fESD)) break;
2073       }
2074       else{
2075         if(!CheckTriggerAOD(fAOD)) break;
2076       }
2077     }
2078   
2079     //I'll only cut on the reconstructed vertex since these are the events that will be used
2080     int vertexBin;
2081     if(!fAODData)vertexBin=CheckVertex(fESD);
2082     else vertexBin=CheckVertexAOD(fAOD);
2083     if(vertexBin<0)break;
2084
2085  
2086     
2087     Int_t nGoodTracks[2]={0,0}, nTriggers[nTPtBins][nCentBins][2];
2088     Int_t nTrack;
2089     if(!ievent){
2090       if(!fAODData)nTrack=fESD->GetNumberOfTracks();
2091       else nTrack=fAOD->GetNumberOfTracks();
2092     }
2093     else nTrack=fMC->Stack()->GetNtrack();
2094     if(fSimulate==1||fSimulate==3)nTrack=int(10*(fSimNBgPart+10*fSimNJetPart));
2095     if(fSimulate==2){
2096        if(!fAODData)nTrack=fESD->GetNumberOfTracks();
2097       else nTrack=fAOD->GetNumberOfTracks();
2098     }
2099     gRandom->SetSeed(time(0)+gSystem->GetPid());
2100     Float_t tdPhi, tdEta, tXE;
2101     Float_t tdPhi2, tdEta2;
2102     Float_t V2_T1, V2_T2, V3_T1, V3_T2, V4_T1, V4_T2, V42_T12, V42_1T2, V42_2T1, V2V2V4, V2, V3, V4;
2103     Float_t V2_A, V3_A, V4_A;
2104     ftPhi=new Float_t [nTrack];
2105     ftEta=new Float_t [nTrack];
2106     ftPt=new Float_t [nTrack];
2107     ftCharge=new Short_t [nTrack];
2108     ftEff=new Float_t [nTrack];
2109     ftV2=new Float_t [nTrack];
2110     ftV3=new Float_t [nTrack];
2111     ftV4=new Float_t [nTrack];
2112     ftPtAssoc3=new Int_t *[nTrack];
2113     for(int i=0;i<nTrack;i++){
2114       ftPtAssoc3[i]=new Int_t [10];
2115     }
2116     ftNPtAssoc3=new Int_t [nTrack];
2117     Short_t sign;
2118     //trigger particle arrays
2119     for(int i=0;i<fNTPtBins;i++){
2120       for(int c=0;c<fNCentBins;c++){
2121         nTriggers[i][c][ievent]=0;
2122       }
2123     }
2124     //Int_t tMult=fESD->GetMultiplicity()->GetNumberOfTracklets();//I think this is the correct multiplicity to use
2125     
2126     //AliESDVZERO* esdV0 = fESD->GetVZEROData();
2127     Float_t tMult=0;
2128     if(!fAODData){
2129       if(fCentPercent) tMult=fESD->GetCentrality()->GetCentralityPercentile("V0M");
2130       else tMult=fESD->GetVZEROData()->GetMTotV0A()+fESD->GetVZEROData()->GetMTotV0C();
2131     }
2132     else{
2133       AliAODHeader *tHeader=fAOD->GetHeader();
2134       tMult=tHeader->GetCentrality();
2135     }
2136
2137     if(fDEBUG)Printf("Mult/Cent%6.1f",tMult);
2138   
2139     //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
2140     Int_t multArray[4]={0,0,0,0};
2141     Int_t maxArray=0;
2142     
2143     for(int imult=0;imult<fNCentBins;imult++){
2144       if(tMult>=fCentArrayMin[imult]&&tMult<fCentArrayMax[imult]){
2145         multArray[maxArray]=imult;
2146         maxArray++;
2147       }
2148     }
2149     if(maxArray==0)break;
2150     //Printf("maxArray%d Mult%1.2f",maxArray,tMult);
2151     if(fDEBUG)Printf("maxArray%d",maxArray);
2152     //Set Efficiency and flow for the centrality bin (lowest bin used in array if multiple overlap)
2153     for(int ipar=0;ipar<fNFitLowParam;ipar++){
2154       fFitLow->SetParameter(ipar,fFitLowParam[multArray[0]*fNFitLowParam+ipar]);
2155     }
2156     for(int ipar=0;ipar<fNFitHighParam;ipar++){
2157       fFitHigh->SetParameter(ipar,fFitHighParam[multArray[0]*fNFitHighParam+ipar]);
2158     }
2159     for(int ipar=0;ipar<fNFitLowParamV2;ipar++){
2160       fFitLowV2->SetParameter(ipar,fFitLowParamV2[multArray[0]*fNFitLowParamV2+ipar]);
2161     }
2162     for(int ipar=0;ipar<fNFitHighParamV2;ipar++){
2163       fFitHighV2->SetParameter(ipar,fFitHighParamV2[multArray[0]*fNFitHighParamV2+ipar]);
2164     }
2165     for(int ipar=0;ipar<fNFitLowParamV3;ipar++){
2166       fFitLowV3->SetParameter(ipar,fFitLowParamV3[multArray[0]*fNFitLowParamV3+ipar]);
2167     }
2168     for(int ipar=0;ipar<fNFitHighParamV3;ipar++){
2169       fFitHighV3->SetParameter(ipar,fFitHighParamV3[multArray[0]*fNFitHighParamV2+ipar]);
2170     }
2171     for(int ipar=0;ipar<fNFitLowParamV4;ipar++){
2172       fFitLowV4->SetParameter(ipar,fFitLowParamV4[multArray[0]*fNFitLowParamV4+ipar]);
2173     }
2174     for(int ipar=0;ipar<fNFitHighParamV4;ipar++){
2175       fFitHighV4->SetParameter(ipar,fFitHighParamV4[multArray[0]*fNFitHighParamV4+ipar]);
2176     }
2177     fHistMult[ievent]->Fill(tMult);
2178     for(int c=0;c<maxArray;c++){fHistNEvents[multArray[c]][ievent]->Fill(0);}//count the number of events used
2179     Int_t leadPart=-1;
2180    
2181     //returns arrays filled up to nGoodTracks with tracks passing cuts
2182     if(ievent)leadPart=TrackCutsMC(fMC,ftPt,ftEta,ftPhi,ftCharge,ftEff,ftV2,ftV3,ftV4,ftPtAssoc3,ftNPtAssoc3,nGoodTracks);
2183     else if(fSimulate!=1||fSimulate!=3){
2184       if(!fAODData)leadPart=TrackCuts(fESD,ftPt,ftEta,ftPhi,ftCharge,ftEff,ftV2,ftV3,ftV4,ftPtAssoc3,ftNPtAssoc3,nGoodTracks);
2185       else leadPart=TrackCutsAOD(fAOD,ftPt,ftEta,ftPhi,ftCharge,ftEff,ftV2,ftV3,ftV4,ftPtAssoc3,ftNPtAssoc3,nGoodTracks);
2186       if(fSimulate==2)CalcFlow(ftPt,ftEta,ftPhi,nGoodTracks,leadPart);
2187     }
2188     
2189     for(int nSimEvents=0;nSimEvents<=(fSimulate*fSimNEvents);nSimEvents++){//only 1 loop if not simulation
2190       //Printf("nSimEvents %d",nSimEvents);
2191       if(fSimulate)leadPart=TrackCutsSim(ftPt,ftEta,ftPhi,ftCharge,ftEff,ftV2,ftV3,ftV4,ftPtAssoc3,ftNPtAssoc3,nGoodTracks);
2192       
2193       //Printf("nGoodTracks %d",nGoodTracks[0]);
2194       int nearEta=0,NearXE=0;
2195       int nearEta2=0;
2196  
2197       if(fDEBUG)Printf("Track Loop");
2198       for(int iTrack=0;iTrack<nGoodTracks[ievent];iTrack++){
2199         if(fDEBUG)Printf("Track%d Pt%f",iTrack,ftPt[iTrack]);
2200         //if(ftPhi[iTrack]<fdPhiMin)ftPhi[iTrack]+=2*fPi;
2201         //if(ftPhi[iTrack]>fdPhiMax)ftPhi[iTrack]-=2*fPi;
2202         for(int c=0;c<maxArray;c++){
2203           // Printf("c%d mult%d",c,multArray[c]);
2204           fHistPt[multArray[c]][ievent]->Fill(ftPt[iTrack],ftEff[iTrack]);
2205           fHistPtEff[multArray[c]][ievent]->Fill(ftPt[iTrack]);
2206           fHistPhi[multArray[c]][ievent]->Fill(ftPhi[iTrack],ftPt[iTrack],ftEff[iTrack]);
2207           fHistPhiPt[multArray[c]][ievent]->Fill(ftPhi[iTrack],ftPt[iTrack],ftPt[iTrack]*ftEff[iTrack]);
2208           fHistEta[multArray[c]][ievent]->Fill(ftEta[iTrack],ftPt[iTrack],ftEff[iTrack]);
2209           fHistEtaPt[multArray[c]][ievent]->Fill(ftEta[iTrack],ftPt[iTrack],ftPt[iTrack]*ftEff[iTrack]);
2210           fHistPhiEta[multArray[c]][ievent]->Fill(ftPhi[iTrack],ftEta[iTrack],ftPt[iTrack],ftEff[iTrack]);
2211           fHistPhiEtaPt[multArray[c]][ievent]->Fill(ftPhi[iTrack],ftEta[iTrack],ftPt[iTrack],ftPt[iTrack]*ftEff[iTrack]);
2212         }
2213         for(int i=0;i<fNTPtBins;i++){
2214           if(ftPt[iTrack]>fPtTrigArray[i]&&ftPt[iTrack]<=fPtTrigArray[i+1]&&fabs(ftEta[iTrack])<fTrigEtaCut){
2215             if(fDEBUG)Printf("In %fpt%f",fPtTrigArray[i],fPtTrigArray[i+1]);
2216             fHistMultTrig[i][ievent]->Fill(tMult);
2217             for(int c=0;c<maxArray;c++){
2218               nTriggers[i][multArray[c]][ievent]++;
2219               fHistNTrigger[multArray[c]][ievent]->Fill(i,ftEff[iTrack]);
2220               fHistNTriggerPt[multArray[c]][ievent]->Fill(i,ftPt[iTrack]*ftEff[iTrack]);
2221             }
2222           
2223             if(fDEBUG)Printf("Assiciated Particle Loop");
2224             //  Printf("GoodTracks %d Cent%d",nGoodTracks[ievent],multArray[0]);
2225             for(int iTrack2=0;iTrack2<nGoodTracks[ievent];iTrack2++){
2226               if(iTrack==iTrack2) continue;
2227               if(ftPt[iTrack2]>ftPt[iTrack])continue;
2228               tdPhi=ftPhi[iTrack]-ftPhi[iTrack2];
2229               if(tdPhi<-fPi)tdPhi+=2*fPi;
2230               if(tdPhi>fPi)tdPhi-=2*fPi;
2231               if(fabs(tdPhi)<fNearPhiCut)nearEta=1;
2232               else nearEta=0;
2233               if(fabs(tdPhi)<fXECut)NearXE=1;
2234               else NearXE=0;
2235               if(fabs(tdPhi)<(fPi/2))tdEta=ftEta[iTrack]-ftEta[iTrack2];
2236               else tdEta=ftEta[iTrack]+ftEta[iTrack2];
2237               if(tdPhi<fdPhiMin)tdPhi+=2*fPi;
2238               if(tdPhi>fdPhiMax)tdPhi-=2*fPi;
2239               if((ftCharge[iTrack]<0&&ftCharge[iTrack2]<0)||(ftCharge[iTrack]>0&&ftCharge[iTrack2]>0))sign=1;
2240               else sign=2;
2241               if(fDEBUG) Printf("dPhi %f  dEta %f",tdPhi,tdEta);
2242               for(int c=0;c<maxArray;c++){//loop over multiplicity bins
2243                 fHistPtTrig[i][multArray[c]][ievent]->Fill(ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2244                 fHistPhiTrig[i][multArray[c]][ievent]->Fill(ftPhi[iTrack2],ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2245                 fHistPhiTrigPt[i][multArray[c]][ievent]->Fill(ftPhi[iTrack2],ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2246                 fHistEtaTrig[i][multArray[c]][ievent]->Fill(ftEta[iTrack2],ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2247                 fHistEtaTrigPt[i][multArray[c]][ievent]->Fill(ftEta[iTrack2],ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2248               
2249                 fHistPhiEtaTrig[i][multArray[c]][ievent]->Fill(ftPhi[iTrack2],ftEta[iTrack2],ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2250                 fHistPhiEtaTrigPt[i][multArray[c]][ievent]->Fill(ftPhi[iTrack2],ftEta[iTrack2],ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2251                 fHistDeltaPhi[i][multArray[c]][0][ievent]->Fill(tdPhi,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2252                 fHistDeltaPhiPt[i][multArray[c]][0][ievent]->Fill(tdPhi,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2253                 fHistDeltaPhi[i][multArray[c]][sign][ievent]->Fill(tdPhi,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2254                 fHistDeltaPhiPt[i][multArray[c]][sign][ievent]->Fill(tdPhi,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2255               
2256                 if(nearEta){
2257                   fHistDeltaEtaN[i][multArray[c]][0][ievent]->Fill(tdEta,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2258                   fHistDeltaEtaNPt[i][multArray[c]][0][ievent]->Fill(tdEta,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2259                   fHistDeltaEtaN[i][multArray[c]][sign][ievent]->Fill(tdEta,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2260                   fHistDeltaEtaNPt[i][multArray[c]][sign][ievent]->Fill(tdEta,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2261                 }
2262                 else{
2263                   fHistDeltaEtaA[i][multArray[c]][0][ievent]->Fill(tdEta,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2264                   fHistDeltaEtaAPt[i][multArray[c]][0][ievent]->Fill(tdEta,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2265                   fHistDeltaEtaA[i][multArray[c]][sign][ievent]->Fill(tdEta,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2266                   fHistDeltaEtaAPt[i][multArray[c]][sign][ievent]->Fill(tdEta,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2267                 }
2268                 fHistDeltaPhiEta[i][multArray[c]][ievent]->Fill(tdPhi,tdEta,ftPt[iTrack2],ftEff[iTrack2]*ftEff[iTrack]);
2269                 fHistDeltaPhiEtaPt[i][multArray[c]][ievent]->Fill(tdPhi,tdEta,ftPt[iTrack2],ftPt[iTrack2]*ftEff[iTrack2]*ftEff[iTrack]);
2270               
2271                 //only fill these if trigger particle is the leading particle
2272                 if(iTrack==leadPart){
2273                   if(NearXE){
2274                     tXE=ftPt[iTrack2]*cos(tdPhi)/ftPt[iTrack];
2275                     fHistXEN[i][multArray[c]][ievent]->Fill(tXE,ftEff[iTrack2]*ftEff[iTrack]);
2276                   }
2277                   else{
2278                     tXE=ftPt[iTrack2]*cos(tdPhi+fPi)/ftPt[iTrack];
2279                     fHistXEA[i][multArray[c]][ievent]->Fill(tXE,ftEff[iTrack2]*ftEff[iTrack]);
2280                   }
2281                 }
2282               
2283               }//Centrality loop (c)
2284             
2285               //3-particle Correlations
2286               for(int iTrack3=0;iTrack3<nGoodTracks[ievent];iTrack3++){
2287                 if(iTrack2==iTrack3)continue;
2288                 if(ftPt[iTrack3]>ftPt[iTrack])continue;
2289                 tdPhi2=ftPhi[iTrack]-ftPhi[iTrack3];
2290                 if(tdPhi2<-fPi)tdPhi2+=2*fPi;
2291                 if(tdPhi2>fPi)tdPhi2-=2*fPi;
2292                 if(fabs(tdPhi2)<fNearPhiCut&&nearEta==1)nearEta2=1;
2293                 else nearEta2=0;
2294                 //if(fabs(tdPhi)<fXECut)NearXE=1;
2295                 //else NearXE=0;
2296                 if(fabs(tdPhi2)<(fPi/2))tdEta2=ftEta[iTrack]-ftEta[iTrack3];
2297                 else tdEta2=ftEta[iTrack]+ftEta[iTrack3];
2298                 if(tdPhi2<fdPhiMin)tdPhi2+=2*fPi;
2299                 if(tdPhi2>fdPhiMax)tdPhi2-=2*fPi;
2300                 // if((ftCharge[iTrack]<0&&ftCharge[iTrack2]<0)||(ftCharge[iTrack]>0&&ftCharge[iTrack2]>0))sign=1;
2301                 if((ftCharge[iTrack]<0&&ftCharge[iTrack2]<0&&ftCharge[iTrack3]<0)||(ftCharge[iTrack]>0&&ftCharge[iTrack2]>0&&ftCharge[iTrack3]>0))sign=1;
2302                 else if((ftCharge[iTrack3]<0&&ftCharge[iTrack2]<0)||(ftCharge[iTrack3]>0&&ftCharge[iTrack2]>0))sign=2;
2303                 else sign=3;
2304                 for(int e=0;e<ftNPtAssoc3[iTrack2];e++){//check associated pT bin
2305                   for(int f=0;f<ftNPtAssoc3[iTrack3];f++){
2306                     if(ftPtAssoc3[iTrack2][e]==ftPtAssoc3[iTrack3][f]){
2307                       for(int c=0;c<maxArray;c++){//loop over multiplicity bins
2308                         fHistDeltaPhiPhi[i][ftPtAssoc3[iTrack2][e]][multArray[c]][0][ievent]->Fill(tdPhi,tdPhi2,ftEff[iTrack2]*ftEff[iTrack3]*ftEff[iTrack]);
2309                         fHistDeltaPhiPhi[i][ftPtAssoc3[iTrack2][e]][multArray[c]][sign][ievent]->Fill(tdPhi2,tdPhi,ftEff[iTrack2]*ftEff[iTrack3]*ftEff[iTrack]);
2310                       
2311                       
2312                         if(nearEta2){
2313                           fHistDeltaEtaEta[i][ftPtAssoc3[iTrack2][e]][multArray[c]][0][ievent]->Fill(tdEta,tdEta2,ftEff[iTrack2]*ftEff[iTrack3]*ftEff[iTrack]);
2314                           fHistDeltaEtaEta[i][ftPtAssoc3[iTrack2][e]][multArray[c]][sign][ievent]->Fill(tdEta,tdEta2,ftEff[iTrack2]*ftEff[iTrack3]*ftEff[iTrack]);
2315                         }
2316                       }//multiplicity loop (c)
2317                     }
2318                   }
2319                 }//track checking loops
2320               }//iTrack3
2321             }//iTrack2 (associated track loop)
2322           
2323             if(fDEBUG)Printf("Mixed Event Loop");
2324             for(int c=0;c<maxArray;c++){
2325               //Printf("c%d mult%d",c,multArray[c]);
2326               int d=multArray[c];//Centrality bin we are in
2327               if(fMixEnd[d][vertexBin][ievent]>2){//check if there are any mixed events for this bin, require 2 for soft-soft mixing
2328                 for(int imix=0;imix<fMixEnd[d][vertexBin][ievent];imix++){//loop over the stored mixed events
2329                   fHistNMix[d][ievent]->Fill(i);
2330                   //Printf("GoodTracksMixed %d Cent%d fMixEnd%d",fMixTrack[imix][d][vertexBin][ievent],d,fMixEnd[d][vertexBin][ievent]);
2331                   for(int iTrack2=0;iTrack2<fMixTrack[imix][d][vertexBin][ievent];iTrack2++){
2332                     if(ftPt[iTrack]<fMPt[imix][d][vertexBin][ievent][iTrack2])continue;
2333                     tdPhi=ftPhi[iTrack]-fMPhi[imix][d][vertexBin][ievent][iTrack2];
2334                     if(tdPhi<-fPi)tdPhi+=2*fPi;
2335                     if(tdPhi>fPi)tdPhi-=2*fPi;
2336                     if(fabs(tdPhi)<fNearPhiCut)nearEta=1;
2337                     else nearEta=0;
2338                     if(fabs(tdPhi)<fXECut)NearXE=1;
2339                     else NearXE=0;
2340                     if(fabs(tdPhi)<(fPi/2))tdEta=ftEta[iTrack]-fMEta[imix][d][vertexBin][ievent][iTrack2];
2341                     else tdEta=ftEta[iTrack]+fMEta[imix][d][vertexBin][ievent][iTrack2];
2342                     if(tdPhi<fdPhiMin)tdPhi+=2*fPi;     
2343                     if(tdPhi>fdPhiMax)tdPhi-=2*fPi;
2344                     if((ftCharge[iTrack]<0&&fMCharge[imix][d][vertexBin][ievent][iTrack2]<0)||(ftCharge[iTrack]>0&&fMCharge[imix][d][vertexBin][ievent][iTrack2]>0))sign=1;
2345                     else sign=2;
2346                     V2_T1=2*fMV2[imix][d][vertexBin][ievent][iTrack2]*ftV2[iTrack]*cos(2*tdPhi);
2347                     V3_T1=2*fMV3[imix][d][vertexBin][ievent][iTrack2]*ftV3[iTrack]*cos(3*tdPhi);
2348                     V4_T1=2*fMV4[imix][d][vertexBin][ievent][iTrack2]*ftV4[iTrack]*cos(4*tdPhi);
2349                   
2350                     fHistDeltaPhiMix[i][d][0][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2351                     fHistDeltaPhiMixV2[i][d][0][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1);
2352                     fHistDeltaPhiMixV3[i][d][0][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1);
2353                     fHistDeltaPhiMixV4[i][d][0][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1);
2354                     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]);
2355                     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]);
2356                     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]);
2357                     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]);
2358                     fHistDeltaPhiMix[i][d][sign][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2359                     fHistDeltaPhiMixV2[i][d][sign][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1);
2360                     fHistDeltaPhiMixV3[i][d][sign][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1);
2361                     fHistDeltaPhiMixV4[i][d][sign][ievent]->Fill(tdPhi,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1);
2362                     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]);
2363                     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]);
2364                     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]);
2365                     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]);
2366                   
2367                     if(nearEta){
2368                       fHistDeltaEtaNMix[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2369                       fHistDeltaEtaNMixV2[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1);
2370                       fHistDeltaEtaNMixV3[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1);
2371                       fHistDeltaEtaNMixV4[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1);
2372                       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]);
2373                       fHistDeltaEtaNMix[i][d][sign][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2374                       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]);
2375                       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]);
2376                       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]);
2377                       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]);
2378                     }
2379                     else{
2380                       fHistDeltaEtaAMix[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2381                       fHistDeltaEtaAMixV2[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1);
2382                       fHistDeltaEtaAMixV3[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1);
2383                       fHistDeltaEtaAMixV4[i][d][0][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1);
2384                       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]);
2385                       fHistDeltaEtaAMix[i][d][sign][ievent]->Fill(tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2386                       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]);
2387                       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]);
2388                       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]);
2389                       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]);
2390                     }   
2391                   
2392                     fHistDeltaPhiEtaMix[i][d][ievent]->Fill(tdPhi,tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]);
2393                     fHistDeltaPhiEtaMixV2[i][d][ievent]->Fill(tdPhi,tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V2_T1);
2394                     fHistDeltaPhiEtaMixV3[i][d][ievent]->Fill(tdPhi,tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V3_T1);
2395                     fHistDeltaPhiEtaMixV4[i][d][ievent]->Fill(tdPhi,tdEta,fMPt[imix][d][vertexBin][ievent][iTrack2],fMEff[imix][d][vertexBin][ievent][iTrack2]*V4_T1);
2396                     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]);
2397                   
2398                     if(iTrack==leadPart){
2399                       if(NearXE){
2400                         tXE=fMPt[imix][d][vertexBin][ievent][iTrack2]*cos(tdPhi)/ftPt[iTrack];
2401                         fHistXENMix[i][d][ievent]->Fill(tXE,fMEff[imix][d][vertexBin][ievent][iTrack2]);
2402                       }
2403                       else{
2404                         tXE=fMPt[imix][d][vertexBin][ievent][iTrack2]*cos(tdPhi+fPi)/ftPt[iTrack];
2405                         fHistXEAMix[i][multArray[c]][ievent]->Fill(tXE,fMEff[imix][d][vertexBin][ievent][iTrack2]);
2406                       }
2407                     }
2408                  
2409                     //3-particle correlation soft-soft term (both associated from the same event)
2410                     for(int iTrack3=0;iTrack3<fMixTrack[imix][d][vertexBin][ievent];iTrack3++){
2411                       if(iTrack3==iTrack2)continue;
2412                       if(ftPt[iTrack]<fMPt[imix][d][vertexBin][ievent][iTrack3])continue;
2413                       tdPhi2=ftPhi[iTrack]-fMPhi[imix][d][vertexBin][ievent][iTrack3];
2414                       if(tdPhi2<-fPi)tdPhi2+=2*fPi;
2415                       if(tdPhi2>fPi)tdPhi2-=2*fPi;
2416                       if(fabs(tdPhi2)<fNearPhiCut&&nearEta)nearEta2=1;
2417                       else nearEta2=0;
2418                       if(fabs(tdPhi2)<(fPi/2))tdEta2=ftEta[iTrack]-fMEta[imix][d][vertexBin][ievent][iTrack3];
2419                       else tdEta2=ftEta[iTrack]+fMEta[imix][d][vertexBin][ievent][iTrack3];
2420                       if(tdPhi2<fdPhiMin)tdPhi2+=2*fPi; 
2421                       if(tdPhi2>fdPhiMax)tdPhi2-=2*fPi;
2422                      
2423                       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;
2424                       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;
2425                       else sign=3;
2426                       for(int e=0;e<fMNPtAssoc3[imix][d][vertexBin][ievent][iTrack2];e++){//check associated pT bin
2427                         for(int f=0;f<fMNPtAssoc3[imix][d][vertexBin][ievent][iTrack3];f++){
2428                           if(fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]==fMPtAssoc3[imix][d][vertexBin][ievent][f][iTrack3]){
2429                             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]);
2430                             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]); 
2431                           
2432                             if(nearEta2){
2433                               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]);
2434                               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]);
2435                             }//near-side
2436                           }
2437                         }
2438                       }//associated pt bin
2439                     }//iTrack3
2440                   
2441                     //3-particle mixed event (associated from different events)
2442                     int imix2=imix+1;
2443                     if(imix2>=fMixEnd[d][vertexBin][ievent])imix2=0;
2444                     if(imix2==imix)continue;
2445                     for(int iTrack3=0;iTrack3<fMixTrack[imix2][d][vertexBin][ievent];iTrack3++){
2446                       if(ftPt[iTrack]<fMPt[imix2][d][vertexBin][ievent][iTrack3])continue;
2447                       tdPhi2=ftPhi[iTrack]-fMPhi[imix2][d][vertexBin][ievent][iTrack3];
2448                       if(tdPhi2<-fPi)tdPhi2+=2*fPi;
2449                       if(tdPhi2>fPi)tdPhi2-=2*fPi;
2450                       if(fabs(tdPhi2)<fNearPhiCut&&nearEta)nearEta2=1;
2451                       else nearEta2=0;
2452                       if(fabs(tdPhi2)<(fPi/2))tdEta2=ftEta[iTrack]-fMEta[imix2][d][vertexBin][ievent][iTrack3];
2453                       else tdEta2=ftEta[iTrack]+fMEta[imix2][d][vertexBin][ievent][iTrack3];
2454                       if(tdPhi2<fdPhiMin)tdPhi2+=2*fPi; 
2455                       if(tdPhi2>fdPhiMax)tdPhi2-=2*fPi;
2456                       V2_T2=2*ftV2[iTrack]*fMV2[imix2][d][vertexBin][ievent][iTrack3]*cos(2*tdPhi2);
2457                       V3_T2=2*ftV3[iTrack]*fMV3[imix2][d][vertexBin][ievent][iTrack3]*cos(3*tdPhi2);
2458                       V4_T2=2*ftV4[iTrack]*fMV4[imix2][d][vertexBin][ievent][iTrack3]*cos(4*tdPhi2);
2459                       V42_T12=2*ftV4[iTrack]*fMV2[imix2][d][vertexBin][ievent][iTrack3]*fMV2[imix][d][vertexBin][ievent][iTrack2]*cos(2*tdPhi+2*tdPhi2);
2460                       V42_1T2=2*fMV4[imix][d][vertexBin][ievent][iTrack2]*ftV2[iTrack]*fMV2[imix2][d][vertexBin][ievent][iTrack3]*cos(4*tdPhi-2*tdPhi2);
2461                       V42_2T1=2*fMV4[imix2][d][vertexBin][ievent][iTrack3]*ftV2[iTrack]*fMV2[imix][d][vertexBin][ievent][iTrack2]*cos(4*tdPhi2-2*tdPhi);
2462                       V2_A=2*fMV2[imix2][d][vertexBin][ievent][iTrack3]*fMV2[imix][d][vertexBin][ievent][iTrack2]*cos(2*(tdPhi-tdPhi2));
2463                       V3_A=2*fMV3[imix2][d][vertexBin][ievent][iTrack3]*fMV3[imix][d][vertexBin][ievent][iTrack2]*cos(3*(tdPhi-tdPhi2));
2464                       V4_A=2*fMV4[imix2][d][vertexBin][ievent][iTrack3]*fMV4[imix][d][vertexBin][ievent][iTrack2]*cos(4*(tdPhi-tdPhi2)); 
2465                     
2466                       V2=V2_T1+V2_T2;
2467                       V3=V3_T1+V3_T2;
2468                       V4=V4_T1+V4_T2;
2469                       V2V2V4=V42_T12+V42_1T2+V42_2T1;
2470                     
2471                       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;
2472                       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;
2473                       else sign=3;
2474                       for(int e=0;e<fMNPtAssoc3[imix][d][vertexBin][ievent][iTrack2];e++){//check associated pT bin
2475                         for(int f=0;f<fMNPtAssoc3[imix2][d][vertexBin][ievent][iTrack3];f++){
2476                           if(fMPtAssoc3[imix][d][vertexBin][ievent][e][iTrack2]==fMPtAssoc3[imix2][d][vertexBin][ievent][f][iTrack3]){
2477                             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]);
2478                             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]); 
2479                             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
2480                             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]);
2481                             //v2
2482                             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);
2483                             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); 
2484                             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
2485                             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);
2486                             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);
2487                             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);
2488                             //v3
2489                             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);
2490                             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); 
2491                             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
2492                             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);
2493                             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);
2494                             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);
2495                             //v4
2496                             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);
2497                             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); 
2498                             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
2499                             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);
2500                             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);
2501                             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);
2502                             //v2v2v4
2503                             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);
2504                             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); 
2505                             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
2506                             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);
2507                           
2508                             if(nearEta2){
2509                               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]);
2510                               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]);
2511                               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]);
2512                               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]);
2513                               //v2
2514                               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);
2515                               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);
2516                               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);
2517                               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);
2518                               //v3
2519                               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);
2520                               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);
2521                               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);
2522                               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);
2523                               //v4
2524                               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);
2525                               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);
2526                               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);
2527                               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);
2528                               //v2v2v4  
2529                               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);
2530                               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);
2531                               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);
2532                               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);
2533                         
2534                             }//near-side
2535                           }
2536                         }
2537                       }//associated pt bin
2538                     }//iTrack3
2539                   }//iTrack2
2540                 }//imix
2541               }//fMixEnd
2542             }//Centrality bins (c)
2543           }//pt trig cuts
2544         }//i Pt Trig
2545       }//itrack    
2546   
2547       //now store this event for mixing (using these dynamic arrays to save memory)
2548       if(fDEBUG)Printf("Store Event For Mixing");
2549       for(int c=0;c<maxArray;c++){//loops over centrality bins
2550         int d=multArray[c];//too many nested arrays looked confusing d=which centrality bin
2551         if(fMixEnd[d][vertexBin][ievent]<=fNMix)fMixEnd[d][vertexBin][ievent]++;
2552         if(fMixPointer[d][vertexBin][ievent]<(fNMix-1)&&fMixEnd[d][vertexBin][ievent]!=1)fMixPointer[d][vertexBin][ievent]++;
2553         else fMixPointer[d][vertexBin][ievent]=0;
2554         int e=fMixPointer[d][vertexBin][ievent];//nested arrays (e is event number in pool)
2555         delete [] fMPt[e][d][vertexBin][ievent];
2556         delete [] fMPhi[e][d][vertexBin][ievent];
2557         delete [] fMEta[e][d][vertexBin][ievent];
2558         delete [] fMCharge[e][d][vertexBin][ievent];
2559         delete [] fMEff[e][d][vertexBin][ievent];
2560         delete [] fMV2[e][d][vertexBin][ievent];
2561         delete [] fMV3[e][d][vertexBin][ievent];
2562         delete [] fMV4[e][d][vertexBin][ievent];
2563         delete [] fMNPtAssoc3[e][d][vertexBin][ievent];
2564         for(int jj=0;jj<10;jj++){
2565           delete [] fMPtAssoc3[e][d][vertexBin][ievent][jj];
2566         }
2567         fMPt[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2568         fMPhi[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2569         fMEta[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2570         fMCharge[e][d][vertexBin][ievent]=new Short_t [nGoodTracks[ievent]];
2571         fMEff[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2572         fMV2[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2573         fMV3[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2574         fMV4[e][d][vertexBin][ievent]=new Float_t [nGoodTracks[ievent]];
2575         fMixTrack[e][d][vertexBin][ievent]=nGoodTracks[ievent];
2576         fMNPtAssoc3[e][d][vertexBin][ievent]=new Short_t [nGoodTracks[ievent]];
2577         for(int jj=0;jj<10;jj++){
2578           fMPtAssoc3[e][d][vertexBin][ievent][jj]=new Short_t [nGoodTracks[ievent]];
2579         }
2580
2581         for(int iTrack=0;iTrack<nGoodTracks[ievent];iTrack++){
2582           fMPt[e][d][vertexBin][ievent][iTrack]=ftPt[iTrack];
2583           fMPhi[e][d][vertexBin][ievent][iTrack]=ftPhi[iTrack];
2584           fMEta[e][d][vertexBin][ievent][iTrack]=ftEta[iTrack];
2585           fMCharge[e][d][vertexBin][ievent][iTrack]=ftCharge[iTrack];
2586           fMEff[e][d][vertexBin][ievent][iTrack]=ftEff[iTrack];
2587           fMV2[e][d][vertexBin][ievent][iTrack]=ftV2[iTrack];
2588           fMV3[e][d][vertexBin][ievent][iTrack]=ftV3[iTrack];
2589           fMV4[e][d][vertexBin][ievent][iTrack]=ftV4[iTrack];
2590           fMNPtAssoc3[e][d][vertexBin][ievent][iTrack]=ftNPtAssoc3[iTrack];
2591           for(int jj=0;jj<ftNPtAssoc3[iTrack];jj++){
2592             fMPtAssoc3[e][d][vertexBin][ievent][jj][iTrack]=ftPtAssoc3[iTrack][jj];
2593           }
2594         }//iTracks
2595       }//Centrality (c)
2596     } //sim
2597     }//ievent
2598   
2599   //track=0;
2600   //track2=0;
2601   
2602
2603   PostData(0, fOutput);
2604   //get rid of these arrays from memory
2605   delete [] ftPhi;
2606   delete [] ftEta;
2607   delete [] ftPt;
2608   delete [] ftCharge;
2609   delete [] ftEff;
2610   delete [] ftV2;
2611   delete [] ftV3;
2612   delete [] ftV4;
2613   delete [] ftNPtAssoc3;
2614   delete [] ftPtAssoc3;
2615   ftPhi=NULL;
2616   ftEta=NULL;
2617   ftPt=NULL;
2618   ftCharge=NULL;
2619   ftEff=NULL;
2620   ftV2=NULL;
2621   ftV3=NULL;
2622   ftV4=NULL;
2623   ftNPtAssoc3=NULL;
2624   ftPtAssoc3=NULL;
2625
2626   }//Exec
2627
2628 //---------------------------------------------------
2629 void AliAnalysisTaskDiHadron::Terminate(Option_t *){
2630   //Terminates the code, frees up memory
2631   for(int ii=0;ii<fNMix;ii++){
2632     for(int cc=0;cc<fNCentBins;cc++){
2633       for(int vtx=0;vtx<fNVertexBins;vtx++){
2634         for(int jj=0;jj<2;jj++){
2635           delete [] fMPt[ii][cc][vtx][jj];
2636           delete [] fMPhi[ii][cc][vtx][jj];
2637           delete [] fMEta[ii][cc][vtx][jj];
2638           delete [] fMCharge[ii][cc][vtx][jj];
2639           delete [] fMEff[ii][cc][vtx][jj];
2640           delete [] fMV2[ii][cc][vtx][jj];
2641           delete [] fMV3[ii][cc][vtx][jj];
2642           delete [] fMV4[ii][cc][vtx][jj];
2643           delete [] fMNPtAssoc3[ii][cc][vtx][jj];
2644           for(int qq=0;qq<10;qq++){
2645             delete [] fMPtAssoc3[ii][cc][vtx][jj][qq];
2646             fMPtAssoc3[ii][cc][vtx][jj][qq]=NULL;
2647           }
2648           fMPt[ii][cc][vtx][jj]=NULL;
2649           fMPhi[ii][cc][vtx][jj]=NULL;
2650           fMEta[ii][cc][vtx][jj]=NULL;
2651           fMCharge[ii][cc][vtx][jj]=NULL;
2652           fMEff[ii][cc][vtx][jj]=NULL;
2653           fMV2[ii][cc][vtx][jj]=NULL;
2654           fMV3[ii][cc][vtx][jj]=NULL;
2655           fMV4[ii][cc][vtx][jj]=NULL;
2656           fMNPtAssoc3[ii][cc][vtx][jj]=NULL;
2657
2658         }
2659       }
2660     }
2661   }
2662   delete [] fFitLowParam;
2663   delete [] fFitHighParam;
2664   delete [] fPtTrigArray;
2665   delete [] fPtAssocArray;
2666   delete [] fPtAssoc3Array1;
2667   delete [] fPtAssoc3Array2;
2668   delete [] fCentArrayMin;
2669   delete [] fCentArrayMax;
2670   delete [] fXEArray;
2671   fFitLowParam=NULL;
2672   fFitHighParam=NULL;
2673   fPtTrigArray=NULL;
2674   fPtAssocArray=NULL;
2675   fPtAssoc3Array1=NULL;
2676   fPtAssoc3Array2=NULL;
2677   fCentArrayMin=NULL;
2678   fCentArrayMax=NULL;
2679   Printf("Terminate AliAnalysisTaskDiHadron");
2680 }