+ if(fAnaType==kSSCalo)
+ {
+ fhAsymmetry = new TH2F ("hAsymmetry","A = ( E1 - E2 ) / ( E1 + E2 ) vs E",
+ nptbins,ptmin,ptmax, 200, -1,1);
+ fhAsymmetry->SetXTitle("E (GeV)");
+ fhAsymmetry->SetYTitle("A = ( E1 - E2 ) / ( E1 + E2 )");
+ outputContainer->Add(fhAsymmetry);
+
+ fhSelectedAsymmetry = new TH2F ("hSelectedAsymmetry","A = ( E1 - E2 ) / ( E1 + E2 ) vs E",
+ nptbins,ptmin,ptmax, 200, -1,1);
+ fhSelectedAsymmetry->SetXTitle("E (GeV)");
+ fhSelectedAsymmetry->SetYTitle("A = ( E1 - E2 ) / ( E1 + E2 )");
+ outputContainer->Add(fhSelectedAsymmetry);
+
+ fhSplitE = new TH1F
+ ("hSplitE","Selected #pi^{0} (#eta) pairs energy sum of split sub-clusters",nptbins,ptmin,ptmax);
+ fhSplitE->SetYTitle("counts");
+ fhSplitE->SetXTitle("E (GeV)");
+ outputContainer->Add(fhSplitE) ;
+
+ fhSplitPt = new TH1F
+ ("hSplitPt","Selected #pi^{0} (#eta) pairs pT sum of split sub-clusters",nptbins,ptmin,ptmax);
+ fhSplitPt->SetYTitle("counts");
+ fhSplitPt->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhSplitPt) ;
+
+
+ fhSplitPtPhi = new TH2F
+ ("hSplitPtPhi","Selected #pi^{0} (#eta) pairs: sum split sub-cluster p_{T} vs #phi",nptbins,ptmin,ptmax, nphibins,phimin,phimax);
+ fhSplitPtPhi->SetYTitle("#phi (rad)");
+ fhSplitPtPhi->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhSplitPtPhi) ;
+
+ fhSplitPtEta = new TH2F
+ ("hSplitPtEta","Selected #pi^{0} (#eta) pairs: sum split sub-cluster p_{T} vs #eta",nptbins,ptmin,ptmax,netabins,etamin,etamax);
+ fhSplitPtEta->SetYTitle("#eta");
+ fhSplitPtEta->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhSplitPtEta) ;
+
+
+ fhNLocMaxSplitPt = new TH2F("hNLocMaxSplitPt","Number of local maxima in cluster",
+ nptbins,ptmin,ptmax,10,0,10);
+ fhNLocMaxSplitPt ->SetYTitle("N maxima");
+ fhNLocMaxSplitPt ->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhNLocMaxSplitPt) ;
+
+
+ fhMassSplitPt = new TH2F
+ ("hMassSplitPt","all pairs mass: sum split sub-cluster p_{T} vs mass",
+ nptbins,ptmin,ptmax, nmassbins,massmin,massmax);
+ fhMassSplitPt->SetYTitle("mass (GeV/c^{2})");
+ fhMassSplitPt->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhMassSplitPt) ;
+
+ fhSelectedMassSplitPt = new TH2F
+ ("hSelectedMassSplitPt","Selected #pi^{0} (#eta) pairs mass: sum split sub-cluster p_{T} vs mass",
+ nptbins,ptmin,ptmax, nmassbins,massmin,massmax);
+ fhSelectedMassSplitPt->SetYTitle("mass (GeV/c^{2})");
+ fhSelectedMassSplitPt->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhSelectedMassSplitPt) ;
+
+ if(IsDataMC())
+ {
+ fhMassSplitPtNoOverlap = new TH2F
+ ("hMassSplitPtNoOverlap","all pairs mass: sum split sub-cluster p_{T} vs mass, no overlap",
+ nptbins,ptmin,ptmax, nmassbins,massmin,massmax);
+ fhMassSplitPtNoOverlap->SetYTitle("mass (GeV/c^{2})");
+ fhMassSplitPtNoOverlap->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhMassSplitPtNoOverlap) ;
+
+ fhSelectedMassSplitPtNoOverlap = new TH2F
+ ("hSelectedMassSplitPtNoOverlap","Selected #pi^{0} (#eta) pairs mass: sum split sub-cluster p_{T} vs mass, no overlap",
+ nptbins,ptmin,ptmax, nmassbins,massmin,massmax);
+ fhSelectedMassSplitPtNoOverlap->SetYTitle("mass (GeV/c^{2})");
+ fhSelectedMassSplitPtNoOverlap->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhSelectedMassSplitPtNoOverlap) ;
+
+
+ fhMCPi0PtRecoPtPrim = new TH2F
+ ("hMCPi0PtRecoPtPrim","p_{T,reco} vs p_{T,gen}",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCPi0PtRecoPtPrim ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCPi0PtRecoPtPrim ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCPi0PtRecoPtPrim ) ;
+
+ fhMCPi0PtRecoPtPrimNoOverlap = new TH2F
+ ("hMCPi0PtRecoPtPrimNoOverlap","p_{T,reco} vs p_{T,gen}, no overlap",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCPi0PtRecoPtPrimNoOverlap ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCPi0PtRecoPtPrimNoOverlap ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCPi0PtRecoPtPrimNoOverlap ) ;
+
+ fhMCPi0SelectedPtRecoPtPrim = new TH2F
+ ("hMCPi0SelectedPtRecoPtPrim","p_{T,reco} vs p_{T,gen}",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCPi0SelectedPtRecoPtPrim ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCPi0SelectedPtRecoPtPrim ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCPi0SelectedPtRecoPtPrim ) ;
+
+ fhMCPi0SelectedPtRecoPtPrimNoOverlap = new TH2F
+ ("hMCPi0SelectedPtRecoPtPrimNoOverlap","p_{T,reco} vs p_{T,gen}, no overlap",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCPi0SelectedPtRecoPtPrimNoOverlap ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCPi0SelectedPtRecoPtPrimNoOverlap ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCPi0SelectedPtRecoPtPrimNoOverlap ) ;
+
+
+ fhMCPi0SplitPtRecoPtPrim = new TH2F
+ ("hMCPi0SplitPtRecoPtPrim","p_{T,reco} (split sum) vs p_{T,gen}",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCPi0SplitPtRecoPtPrim ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCPi0SplitPtRecoPtPrim ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCPi0SplitPtRecoPtPrim ) ;
+
+ fhMCPi0SplitPtRecoPtPrimNoOverlap = new TH2F
+ ("hMCPi0SplitPtRecoPtPrimNoOverlap","p_{T,reco} (split sum) vs p_{T,gen}, no overlap",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCPi0SplitPtRecoPtPrimNoOverlap ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCPi0SplitPtRecoPtPrimNoOverlap ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCPi0SplitPtRecoPtPrimNoOverlap ) ;
+
+ fhMCPi0SelectedSplitPtRecoPtPrim = new TH2F
+ ("hMCPi0SelectedSplitPtRecoPtPrim","p_{T,reco} (split sum) vs p_{T,gen}",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCPi0SelectedSplitPtRecoPtPrim ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCPi0SelectedSplitPtRecoPtPrim ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCPi0SelectedSplitPtRecoPtPrim ) ;
+
+ fhMCPi0SelectedSplitPtRecoPtPrimNoOverlap = new TH2F
+ ("hMCPi0SelectedSplitPtRecoPtPrimNoOverlap","p_{T,reco} (split sum) vs p_{T,gen}, no overlap",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCPi0SelectedSplitPtRecoPtPrimNoOverlap ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCPi0SelectedSplitPtRecoPtPrimNoOverlap ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCPi0SelectedSplitPtRecoPtPrimNoOverlap ) ;
+
+ fhMCEtaPtRecoPtPrim = new TH2F
+ ("hMCEtaPtRecoPtPrim","p_{T,reco} vs p_{T,gen}",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCEtaPtRecoPtPrim ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCEtaPtRecoPtPrim ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCEtaPtRecoPtPrim ) ;
+
+ fhMCEtaPtRecoPtPrimNoOverlap = new TH2F
+ ("hMCEtaPtRecoPtPrimNoOverlap","p_{T,reco} vs p_{T,gen}, no overlap",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCEtaPtRecoPtPrimNoOverlap ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCEtaPtRecoPtPrimNoOverlap ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCEtaPtRecoPtPrimNoOverlap ) ;
+
+ fhMCEtaSelectedPtRecoPtPrim = new TH2F
+ ("hMCEtaSelectedPtRecoPtPrim","p_{T,reco} vs p_{T,gen}",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCEtaSelectedPtRecoPtPrim ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCEtaSelectedPtRecoPtPrim ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCEtaSelectedPtRecoPtPrim ) ;
+
+ fhMCEtaSelectedPtRecoPtPrimNoOverlap = new TH2F
+ ("hMCEtaSelectedPtRecoPtPrimNoOverlap","p_{T,reco} vs p_{T,gen}, no overlap",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCEtaSelectedPtRecoPtPrimNoOverlap ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCEtaSelectedPtRecoPtPrimNoOverlap ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCEtaSelectedPtRecoPtPrimNoOverlap ) ;
+
+
+ fhMCEtaSplitPtRecoPtPrim = new TH2F
+ ("hMCEtaSplitPtRecoPtPrim","p_{T,reco} (split sum) vs p_{T,gen}",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCEtaSplitPtRecoPtPrim ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCEtaSplitPtRecoPtPrim ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCEtaSplitPtRecoPtPrim ) ;
+
+ fhMCEtaSplitPtRecoPtPrimNoOverlap = new TH2F
+ ("hMCEtaSplitPtRecoPtPrimNoOverlap","p_{T,reco} (split sum) vs p_{T,gen}, no overlap",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCEtaSplitPtRecoPtPrimNoOverlap ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCEtaSplitPtRecoPtPrimNoOverlap ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCEtaSplitPtRecoPtPrimNoOverlap ) ;
+
+ fhMCEtaSelectedSplitPtRecoPtPrim = new TH2F
+ ("hMCEtaSelectedSplitPtRecoPtPrim","p_{T,reco} (split sum) vs p_{T,gen}",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCEtaSelectedSplitPtRecoPtPrim ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCEtaSelectedSplitPtRecoPtPrim ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCEtaSelectedSplitPtRecoPtPrim ) ;
+
+ fhMCEtaSelectedSplitPtRecoPtPrimNoOverlap = new TH2F
+ ("hMCEtaSelectedSplitPtRecoPtPrimNoOverlap","p_{T,reco} (split sum) vs p_{T,gen}, no overlap",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhMCEtaSelectedSplitPtRecoPtPrimNoOverlap ->SetYTitle("p_{T,gen} (GeV/c)");
+ fhMCEtaSelectedSplitPtRecoPtPrimNoOverlap ->SetXTitle("p_{T,reco} (GeV/c)");
+ outputContainer->Add(fhMCEtaSelectedSplitPtRecoPtPrimNoOverlap ) ;
+
+ for(Int_t i = 0; i< 6; i++)
+ {
+ fhMCEAsymmetry[i] = new TH2F (Form("hEAsymmetry_MC%s",pname[i].Data()),
+ Form("cluster from %s : A = ( E1 - E2 ) / ( E1 + E2 ) vs E",ptype[i].Data()),
+ nptbins,ptmin,ptmax, 200,-1,1);
+ fhMCEAsymmetry[i]->SetXTitle("E (GeV)");
+ fhMCEAsymmetry[i]->SetYTitle("A = ( E1 - E2 ) / ( E1 + E2 )");
+ outputContainer->Add(fhMCEAsymmetry[i]);
+
+ fhMCSplitE[i] = new TH1F
+ (Form("hSplitE_MC%s",pname[i].Data()),
+ Form("cluster from %s, energy sum of split sub-clusters",ptype[i].Data()),
+ nptbins,ptmin,ptmax);
+ fhMCSplitE[i]->SetYTitle("counts");
+ fhMCSplitE[i]->SetXTitle("E (GeV)");
+ outputContainer->Add(fhMCSplitE[i]) ;
+
+ fhMCSplitPt[i] = new TH1F
+ (Form("hSplitPt_MC%s",pname[i].Data()),
+ Form("cluster from %s, pT sum of split sub-clusters",ptype[i].Data()),
+ nptbins,ptmin,ptmax);
+ fhMCSplitPt[i]->SetYTitle("counts");
+ fhMCSplitPt[i]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhMCSplitPt[i]) ;
+
+
+ fhMCSplitPtPhi[i] = new TH2F
+ (Form("hSplitPtPhi_MC%s",pname[i].Data()),
+ Form("Identified as #pi^{0} (#eta), cluster from %s",ptype[i].Data()),
+ nptbins,ptmin,ptmax,nphibins,phimin,phimax);
+ fhMCSplitPtPhi[i]->SetYTitle("#phi");
+ fhMCSplitPtPhi[i]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhMCSplitPtPhi[i]) ;
+
+ fhMCSplitPtEta[i] = new TH2F
+ (Form("hSplitPtEta_MC%s",pname[i].Data()),
+ Form("Identified as #pi^{0} (#eta), cluster from %s",
+ ptype[i].Data()),nptbins,ptmin,ptmax,netabins,etamin,etamax);
+ fhMCSplitPtEta[i]->SetYTitle("#eta");
+ fhMCSplitPtEta[i]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhMCSplitPtEta[i]) ;
+
+
+ fhMCNLocMaxSplitPt[i] = new TH2F
+ (Form("hNLocMaxSplitPt_MC%s",pname[i].Data()),
+ Form("cluster from %s, pT sum of split sub-clusters, for NLM",ptype[i].Data()),
+ nptbins,ptmin,ptmax,10,0,10);
+ fhMCNLocMaxSplitPt[i] ->SetYTitle("N maxima");
+ fhMCNLocMaxSplitPt[i] ->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhMCNLocMaxSplitPt[i]) ;
+
+ fhMCMassSplitPt[i] = new TH2F
+ (Form("hMassSplitPt_MC%s",pname[i].Data()),
+ Form("all pairs mass: split p_{T} vs mass from %s",ptype[i].Data()),
+ nptbins,ptmin,ptmax, nmassbins,massmin,massmax);
+ fhMCMassSplitPt[i]->SetYTitle("mass (GeV/c^{2})");
+ fhMCMassSplitPt[i]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhMCMassSplitPt[i]) ;
+
+ fhMCSelectedMassSplitPt[i] = new TH2F
+ (Form("hSelectedMassSplitPt_MC%s",pname[i].Data()),
+ Form("Selected #pi^{0} (#eta) pairs mass: split p_{T} vs mass from %s",ptype[i].Data()),
+ nptbins,ptmin,ptmax, nmassbins,massmin,massmax);
+ fhMCSelectedMassSplitPt[i]->SetYTitle("mass (GeV/c^{2})");
+ fhMCSelectedMassSplitPt[i]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhMCSelectedMassSplitPt[i]) ;
+
+ fhMCMassSplitPtNoOverlap[i] = new TH2F
+ (Form("hMassSplitPtNoOverlap_MC%s",pname[i].Data()),
+ Form("all pairs mass: split p_{T} vs mass from %s, no overlap",ptype[i].Data()),
+ nptbins,ptmin,ptmax, nmassbins,massmin,massmax);
+ fhMCMassSplitPtNoOverlap[i]->SetYTitle("mass (GeV/c^{2})");
+ fhMCMassSplitPtNoOverlap[i]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhMCMassSplitPtNoOverlap[i]) ;
+
+ fhMCSelectedMassSplitPtNoOverlap[i] = new TH2F
+ (Form("hSelectedMassSplitPtNoOverlap_MC%s",pname[i].Data()),
+ Form("Selected #pi^{0} (#eta) pairs mass: split p_{T} vs mass from %s, no overlap",ptype[i].Data()),
+ nptbins,ptmin,ptmax, nmassbins,massmin,massmax);
+ fhMCSelectedMassSplitPtNoOverlap[i]->SetYTitle("mass (GeV/c^{2})");
+ fhMCSelectedMassSplitPtNoOverlap[i]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhMCSelectedMassSplitPtNoOverlap[i]) ;
+ }
+ }
+ }