+ fhDeltaPhiUeRightDownCharged = new TH2F
+ ("hDeltaPhiUeRightDownChargedPt","#phi_{trigger} - #phi_{#Ueh^{#pm}} vs #it{p}_{T Ueh^{#pm}} with UE right Down side range of trigger particles",
+ nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
+ fhDeltaPhiUeRightDownCharged->SetYTitle("#Delta #phi (rad)");
+ fhDeltaPhiUeRightDownCharged->SetXTitle("#it{p}_{T h^{#pm}} (GeV/#it{c})");
+ outputContainer->Add(fhDeltaPhiUeRightDownCharged) ;
+
+ fhXEUeLeftCharged =
+ new TH2F("hXEUeChargedLeft","#it{x}_{#it{E}} with UE left side of trigger",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhXEUeLeftCharged->SetYTitle("#it{x}_{#it{E} Ueh^{#pm}}");
+ fhXEUeLeftCharged->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+ outputContainer->Add(fhXEUeLeftCharged) ;
+
+ fhXEUeLeftUpCharged =
+ new TH2F("hXEUeChargedLeftUp","#it{x}_{#it{E}} with UE left Up side of trigger",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhXEUeLeftUpCharged->SetYTitle("#it{x}_{#it{E} Ueh^{#pm}}");
+ fhXEUeLeftUpCharged->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+ outputContainer->Add(fhXEUeLeftUpCharged) ;
+
+ fhXEUeRightUpCharged =
+ new TH2F("hXEUeChargedRightUp","#it{x}_{#it{E} h^{#pm}} with UE right Up side of trigger",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhXEUeRightUpCharged->SetYTitle("#it{z}_{trigger Ueh^{#pm}}");
+ fhXEUeRightUpCharged->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+ outputContainer->Add(fhXEUeRightUpCharged) ;
+
+ fhXEUeLeftDownCharged =
+ new TH2F("hXEUeChargedLeftDown","#it{x}_{#it{E}} with UE left Down side of trigger",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhXEUeLeftDownCharged->SetYTitle("#it{x}_{#it{E} Ueh^{#pm}}");
+ fhXEUeLeftDownCharged->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+ outputContainer->Add(fhXEUeLeftDownCharged) ;
+
+ fhXEUeRightDownCharged =
+ new TH2F("hXEUeChargedRightDown","#it{x}_{#it{E} h^{#pm}} with UE right Down side of trigger",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhXEUeRightDownCharged->SetYTitle("#it{z}_{trigger Ueh^{#pm}}");
+ fhXEUeRightDownCharged->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+ outputContainer->Add(fhXEUeRightDownCharged) ;
+
+ fhPtHbpXEUeLeftCharged =
+ new TH2F("hHbpXEUeChargedLeft","#xi = ln(1/#it{x}_{#it{E}}) with charged UE left side of trigger",
+ nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
+ fhPtHbpXEUeLeftCharged->SetYTitle("ln(1/#it{x}_{#it{E}})");
+ fhPtHbpXEUeLeftCharged->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+ outputContainer->Add(fhPtHbpXEUeLeftCharged) ;
+
+ fhZTUeLeftCharged =
+ new TH2F("hZTUeChargedLeft","#it{z}_{trigger h^{#pm}} = #it{p}_{T Ueh^{#pm}} / #it{p}_{T trigger} with UE left side of trigger",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhZTUeLeftCharged->SetYTitle("#it{z}_{trigger Ueh^{#pm}}");
+ fhZTUeLeftCharged->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+ outputContainer->Add(fhZTUeLeftCharged) ;
+
+ fhPtHbpZTUeLeftCharged =
+ new TH2F("hHbpZTUeChargedLeft","#xi = ln(1/#it{z}_{T}) with charged UE left side of trigger",
+ nptbins,ptmin,ptmax,nhbpbins,hbpmin,hbpmax);
+ fhPtHbpZTUeLeftCharged->SetYTitle("ln(1/#it{z}_{T})");
+ fhPtHbpZTUeLeftCharged->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+ outputContainer->Add(fhPtHbpZTUeLeftCharged) ;
+ }
+
+ if(IsPileUpAnalysisOn())
+ {
+ fhDeltaPhiChargedOtherBC = new TH2F
+ ("hDeltaPhiChargedOtherBC","#phi_{trigger} - #phi_{h^{#pm}} vs #it{p}_{T trigger}, track BC!=0",
+ nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
+ fhDeltaPhiChargedOtherBC->SetYTitle("#Delta #phi (rad)");
+ fhDeltaPhiChargedOtherBC->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhDeltaPhiChargedPtA3GeVOtherBC = new TH2F
+ ("hDeltaPhiChargedPtA3GeVOtherBC","#phi_{trigger} - #phi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, track BC!=0",
+ nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
+ fhDeltaPhiChargedPtA3GeVOtherBC->SetYTitle("#Delta #phi (rad)");
+ fhDeltaPhiChargedPtA3GeVOtherBC->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhPtTrigChargedOtherBC =
+ new TH2F("hPtTrigChargedOtherBC","trigger and charged tracks pt distribution, track BC!=0",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhPtTrigChargedOtherBC->SetYTitle("#it{p}_{T h^{#pm}} (GeV/#it{c})");
+ fhPtTrigChargedOtherBC->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhXEChargedOtherBC =
+ new TH2F("hXEChargedOtherBC","#it{x}_{#it{E}} for charged tracks, track BC!=0",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhXEChargedOtherBC->SetYTitle("#it{x}_{#it{E}}");
+ fhXEChargedOtherBC->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhXEUeChargedOtherBC =
+ new TH2F("hXEUeChargedOtherBC","#it{x}_{#it{E}} for Underlying Event, track BC!=0",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhXEUeChargedOtherBC->SetYTitle("#it{x}_{#it{E}}");
+ fhXEUeChargedOtherBC->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhZTChargedOtherBC =
+ new TH2F("hZTChargedOtherBC","#it{z}_{T} for charged tracks, track BC!=0",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhZTChargedOtherBC->SetYTitle("#it{z}_{T}");
+ fhZTChargedOtherBC->SetXTitle("#it{p}_{T trigger}");
+
+ fhZTUeChargedOtherBC =
+ new TH2F("hZTUeChargedOtherBC","#it{z}_{T} for Underlying Event, track BC!=0",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhZTUeChargedOtherBC->SetYTitle("#it{z}_{T}");
+ fhZTUeChargedOtherBC->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ outputContainer->Add(fhDeltaPhiChargedOtherBC) ;
+ outputContainer->Add(fhDeltaPhiChargedPtA3GeVOtherBC) ;
+ outputContainer->Add(fhXEChargedOtherBC) ;
+ outputContainer->Add(fhXEUeChargedOtherBC) ;
+ outputContainer->Add(fhZTChargedOtherBC) ;
+ outputContainer->Add(fhZTUeChargedOtherBC) ;
+ outputContainer->Add(fhPtTrigChargedOtherBC) ;
+
+ fhDeltaPhiChargedBC0 = new TH2F
+ ("hDeltaPhiChargedBC0","#phi_{trigger} - #phi_{h^{#pm}} vs #it{p}_{T trigger}, track BC==0",
+ nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
+ fhDeltaPhiChargedBC0->SetYTitle("#Delta #phi (rad)");
+ fhDeltaPhiChargedBC0->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhDeltaPhiChargedPtA3GeVBC0 = new TH2F
+ ("hDeltaPhiChargedPtA3GeVBC0","#phi_{trigger} - #phi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, track BC==0",
+ nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
+ fhDeltaPhiChargedPtA3GeVBC0->SetYTitle("#Delta #phi (rad)");
+ fhDeltaPhiChargedPtA3GeVBC0->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhPtTrigChargedBC0 =
+ new TH2F("hPtTrigChargedBC0","trigger and charged tracks pt distribution, track BC==0",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhPtTrigChargedBC0->SetYTitle("#it{p}_{T h^{#pm}} (GeV/#it{c})");
+ fhPtTrigChargedBC0->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhXEChargedBC0 =
+ new TH2F("hXEChargedBC0","#it{x}_{#it{E}} for charged tracks, track BC==0",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhXEChargedBC0->SetYTitle("#it{x}_{#it{E}}");
+ fhXEChargedBC0->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhXEUeChargedBC0 =
+ new TH2F("hXEUeChargedBC0","#it{x}_{#it{E}} for Underlying Event, track BC==0",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhXEUeChargedBC0->SetYTitle("#it{x}_{#it{E}}");
+ fhXEUeChargedBC0->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhZTChargedBC0 =
+ new TH2F("hZTChargedBC0","#it{z}_{T} for charged tracks, track BC==0",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhZTChargedBC0->SetYTitle("#it{z}_{T}");
+ fhZTChargedBC0->SetXTitle("#it{p}_{T trigger}");
+
+ fhZTUeChargedBC0 =
+ new TH2F("hZTUeChargedBC0","#it{z}_{T} for Underlying Event, track BC==0",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhZTUeChargedBC0->SetYTitle("#it{z}_{T}");
+ fhZTUeChargedBC0->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ outputContainer->Add(fhDeltaPhiChargedBC0) ;
+ outputContainer->Add(fhDeltaPhiChargedPtA3GeVBC0) ;
+ outputContainer->Add(fhXEChargedBC0) ;
+ outputContainer->Add(fhXEUeChargedBC0) ;
+ outputContainer->Add(fhZTChargedBC0) ;
+ outputContainer->Add(fhZTUeChargedBC0) ;
+ outputContainer->Add(fhPtTrigChargedBC0) ;
+
+ fhPtTriggerVtxBC0 = new TH1F("hPtTriggerVtxBC0","#it{p}_{T} distribution of trigger particles", nptbins,ptmin,ptmax);
+ fhPtTriggerVtxBC0->SetXTitle("#it{p}_{T}^{trig} (GeV/#it{c})");
+
+ fhDeltaPhiChargedVtxBC0 = new TH2F
+ ("hDeltaPhiChargedVtxBC0","#phi_{trigger} - #phi_{h^{#pm}} vs #it{p}_{T trigger}, track BC==0",
+ nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
+ fhDeltaPhiChargedVtxBC0->SetYTitle("#Delta #phi (rad)");
+ fhDeltaPhiChargedVtxBC0->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhDeltaPhiChargedPtA3GeVVtxBC0 = new TH2F
+ ("hDeltaPhiChargedPtA3GeVVtxBC0","#phi_{trigger} - #phi_{h^{#pm}} vs #it{p}_{T trigger}, #it{p}_{TA}>3 GeV/#it{c}, track BC==0",
+ nptbins,ptmin,ptmax, ndeltaphibins ,deltaphimin,deltaphimax);
+ fhDeltaPhiChargedPtA3GeVVtxBC0->SetYTitle("#Delta #phi (rad)");
+ fhDeltaPhiChargedPtA3GeVVtxBC0->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhPtTrigChargedVtxBC0 =
+ new TH2F("hPtTrigChargedVtxBC0","trigger and charged tracks pt distribution, track BC==0",
+ nptbins,ptmin,ptmax,nptbins,ptmin,ptmax);
+ fhPtTrigChargedVtxBC0->SetYTitle("#it{p}_{T h^{#pm}} (GeV/#it{c})");
+ fhPtTrigChargedVtxBC0->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhXEChargedVtxBC0 =
+ new TH2F("hXEChargedVtxBC0","#it{x}_{#it{E}} for charged tracks, track BC==0",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhXEChargedVtxBC0->SetYTitle("#it{x}_{#it{E}}");
+ fhXEChargedVtxBC0->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhXEUeChargedVtxBC0 =
+ new TH2F("hXEUeChargedVtxBC0","#it{x}_{#it{E}} for Underlying Event, track BC==0",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhXEUeChargedVtxBC0->SetYTitle("#it{x}_{#it{E}}");
+ fhXEUeChargedVtxBC0->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ fhZTChargedVtxBC0 =
+ new TH2F("hZTChargedVtxBC0","#it{z}_{T} for charged tracks, track BC==0",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhZTChargedVtxBC0->SetYTitle("#it{z}_{T}");
+ fhZTChargedVtxBC0->SetXTitle("#it{p}_{T trigger}");
+
+ fhZTUeChargedVtxBC0 =
+ new TH2F("hZTUeChargedVtxBC0","#it{z}_{T} for Underlying Event, track BC==0",
+ nptbins,ptmin,ptmax,nxeztbins,xeztmin,xeztmax);
+ fhZTUeChargedVtxBC0->SetYTitle("#it{z}_{T}");
+ fhZTUeChargedVtxBC0->SetXTitle("#it{p}_{T trigger} (GeV/#it{c})");
+
+ outputContainer->Add(fhPtTriggerVtxBC0);
+ outputContainer->Add(fhDeltaPhiChargedVtxBC0) ;
+ outputContainer->Add(fhDeltaPhiChargedPtA3GeVVtxBC0) ;
+ outputContainer->Add(fhXEChargedVtxBC0) ;
+ outputContainer->Add(fhXEUeChargedVtxBC0) ;
+ outputContainer->Add(fhZTChargedVtxBC0) ;
+ outputContainer->Add(fhZTUeChargedVtxBC0) ;
+ outputContainer->Add(fhPtTrigChargedVtxBC0) ;
+
+ for(Int_t i = 0 ; i < 7 ; i++)