From: gconesab Date: Thu, 27 Dec 2012 14:09:42 +0000 (+0000) Subject: add few more histograms for asymmetry X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=b8eb40fc19720a0bb0a975e41c12b2be1a3d2376;p=u%2Fmrichter%2FAliRoot.git add few more histograms for asymmetry --- diff --git a/PWGGA/CaloTrackCorrelations/AliAnaInsideClusterInvariantMass.cxx b/PWGGA/CaloTrackCorrelations/AliAnaInsideClusterInvariantMass.cxx index 4343b57afd0..b420c4856da 100755 --- a/PWGGA/CaloTrackCorrelations/AliAnaInsideClusterInvariantMass.cxx +++ b/PWGGA/CaloTrackCorrelations/AliAnaInsideClusterInvariantMass.cxx @@ -208,6 +208,14 @@ AliAnaInsideClusterInvariantMass::AliAnaInsideClusterInvariantMass() : fhMassM02NLocMax1Ebin[i] = 0 ; fhMassM02NLocMax2Ebin[i] = 0 ; fhMassM02NLocMaxNEbin[i] = 0 ; + + fhMassAsyNLocMax1Ebin[i] = 0 ; + fhMassAsyNLocMax2Ebin[i] = 0 ; + fhMassAsyNLocMaxNEbin[i] = 0 ; + + fhAsyMCGenRecoNLocMax1EbinPi0[i] = 0 ; + fhAsyMCGenRecoNLocMax2EbinPi0[i] = 0 ; + fhAsyMCGenRecoNLocMaxNEbinPi0[i] = 0 ; fhMassDispEtaNLocMax1Ebin[i] = 0 ; fhMassDispEtaNLocMax2Ebin[i] = 0 ; @@ -1061,51 +1069,96 @@ TList * AliAnaInsideClusterInvariantMass::GetCreateOutputObjects() for(Int_t i = 0; i < 4; i++) { - if(IsDataMC()) - { - fhMCAsymM02NLocMax1MCPi0Ebin[i] = new TH2F(Form("hMCAsymM02NLocMax1MCPi0Ebin%d",i), - Form("Asymmetry of MC #pi^{0} of 2 highest energy cells #lambda_{0}^{2}, E bin %d",i), - ssbins,ssmin,ssmax,100,0,1); - fhMCAsymM02NLocMax1MCPi0Ebin[i]->SetYTitle("Decay asymmetry"); - fhMCAsymM02NLocMax1MCPi0Ebin[i]->SetXTitle("#lambda_{0}^{2}"); - outputContainer->Add(fhMCAsymM02NLocMax1MCPi0Ebin[i]) ; - - fhMCAsymM02NLocMax2MCPi0Ebin[i] = new TH2F(Form("hMCAsymM02NLocMax2MCPi0Ebin%d",i), - Form("Asymmetry of MC #pi^{0} of 2 local maxima cells #lambda_{0}^{2}, E bin %d",i), - ssbins,ssmin,ssmax,100,0,1); - fhMCAsymM02NLocMax2MCPi0Ebin[i]->SetYTitle("Decay asymmetry"); - fhMCAsymM02NLocMax2MCPi0Ebin[i]->SetXTitle("#lambda_{0}^{2}"); - outputContainer->Add(fhMCAsymM02NLocMax2MCPi0Ebin[i]) ; - - fhMCAsymM02NLocMaxNMCPi0Ebin[i] = new TH2F(Form("hMCAsymM02NLocMaxNMCPi0Ebin%d",i), - Form("Asymmetry of MC #pi^{0} of N>2 local maxima cells vs #lambda_{0}^{2}, E bin %d",i), - ssbins,ssmin,ssmax,100,0,1); - fhMCAsymM02NLocMaxNMCPi0Ebin[i]->SetYTitle("Decay asymmetry"); - fhMCAsymM02NLocMaxNMCPi0Ebin[i]->SetXTitle("#lambda_{0}^{2}"); - outputContainer->Add(fhMCAsymM02NLocMaxNMCPi0Ebin[i]) ; - } - fhMassM02NLocMax1Ebin[i] = new TH2F(Form("hMassM02NLocMax1Ebin%d",i), - Form("Invariant mass of 2 highest energy cells #lambda_{0}^{2}, E bin %d",i), + Form("Invariant mass of split clusters vs #lambda_{0}^{2}, NLM=1, E bin %d",i), ssbins,ssmin,ssmax,mbins,mmin,mmax); fhMassM02NLocMax1Ebin[i]->SetYTitle("M (GeV/c^{2})"); fhMassM02NLocMax1Ebin[i]->SetXTitle("#lambda_{0}^{2}"); outputContainer->Add(fhMassM02NLocMax1Ebin[i]) ; fhMassM02NLocMax2Ebin[i] = new TH2F(Form("hMassM02NLocMax2Ebin%d",i), - Form("Invariant mass of 2 local maxima cells #lambda_{0}^{2}, E bin %d",i), + Form("Invariant mass of split clusters vs #lambda_{0}^{2}, NLM=2, E bin %d",i), ssbins,ssmin,ssmax,mbins,mmin,mmax); fhMassM02NLocMax2Ebin[i]->SetYTitle("M (GeV/c^{2})"); fhMassM02NLocMax2Ebin[i]->SetXTitle("#lambda_{0}^{2}"); outputContainer->Add(fhMassM02NLocMax2Ebin[i]) ; fhMassM02NLocMaxNEbin[i] = new TH2F(Form("hMassM02NLocMaxNEbin%d",i), - Form("Invariant mass of N>2 local maxima cells vs #lambda_{0}^{2}, E bin %d",i), + Form("Invariant mass of split clusters vs vs #lambda_{0}^{2}, NLM>2, E bin %d",i), ssbins,ssmin,ssmax,mbins,mmin,mmax); fhMassM02NLocMaxNEbin[i]->SetYTitle("M (GeV/c^{2})"); fhMassM02NLocMaxNEbin[i]->SetXTitle("#lambda_{0}^{2}"); outputContainer->Add(fhMassM02NLocMaxNEbin[i]) ; + + fhMassAsyNLocMax1Ebin[i] = new TH2F(Form("hMassAsyNLocMax1Ebin%d",i), + Form("Invariant mass of split clusters vs split asymmetry, NLM=1, E bin %d",i), + 200,-1,1,mbins,mmin,mmax); + fhMassAsyNLocMax1Ebin[i]->SetYTitle("M (GeV/c^{2})"); + fhMassAsyNLocMax1Ebin[i]->SetXTitle("asymmetry"); + outputContainer->Add(fhMassAsyNLocMax1Ebin[i]) ; + + fhMassAsyNLocMax2Ebin[i] = new TH2F(Form("hMassAsyNLocMax2Ebin%d",i), + Form("Invariant mass of split clusters vs split asymmetry, NLM=2, E bin %d",i), + 200,-1,1,mbins,mmin,mmax); + fhMassAsyNLocMax2Ebin[i]->SetYTitle("M (GeV/c^{2})"); + fhMassAsyNLocMax2Ebin[i]->SetXTitle("asymmetry"); + outputContainer->Add(fhMassAsyNLocMax2Ebin[i]) ; + + fhMassAsyNLocMaxNEbin[i] = new TH2F(Form("hMassAsyNLocMaxNEbin%d",i), + Form("Invariant mass of split clusters vs split asymmetry, NLM>2, E bin %d",i), + 200,-1,1,mbins,mmin,mmax); + fhMassAsyNLocMaxNEbin[i]->SetYTitle("M (GeV/c^{2})"); + fhMassAsyNLocMaxNEbin[i]->SetXTitle("asymmetry"); + outputContainer->Add(fhMassAsyNLocMaxNEbin[i]) ; + + + if(IsDataMC()) + { + fhMCAsymM02NLocMax1MCPi0Ebin[i] = new TH2F(Form("hMCAsymM02NLocMax1MCPi0Ebin%d",i), + Form("Asymmetry of MC #pi^{0} vs #lambda_{0}^{2}, NLM=1, E bin %d",i), + ssbins,ssmin,ssmax,100,0,1); + fhMCAsymM02NLocMax1MCPi0Ebin[i]->SetYTitle("Decay asymmetry"); + fhMCAsymM02NLocMax1MCPi0Ebin[i]->SetXTitle("#lambda_{0}^{2}"); + outputContainer->Add(fhMCAsymM02NLocMax1MCPi0Ebin[i]) ; + + fhMCAsymM02NLocMax2MCPi0Ebin[i] = new TH2F(Form("hMCAsymM02NLocMax2MCPi0Ebin%d",i), + Form("Asymmetry of MC #pi^{0} vs #lambda_{0}^{2}, NLM=2, E bin %d",i), + ssbins,ssmin,ssmax,100,0,1); + fhMCAsymM02NLocMax2MCPi0Ebin[i]->SetYTitle("Decay asymmetry"); + fhMCAsymM02NLocMax2MCPi0Ebin[i]->SetXTitle("#lambda_{0}^{2}"); + outputContainer->Add(fhMCAsymM02NLocMax2MCPi0Ebin[i]) ; + + fhMCAsymM02NLocMaxNMCPi0Ebin[i] = new TH2F(Form("hMCAsymM02NLocMaxNMCPi0Ebin%d",i), + Form("Asymmetry of MC #pi^{0} vs #lambda_{0}^{2}, NLM>2, E bin %d",i), + ssbins,ssmin,ssmax,100,0,1); + fhMCAsymM02NLocMaxNMCPi0Ebin[i]->SetYTitle("Decay asymmetry"); + fhMCAsymM02NLocMaxNMCPi0Ebin[i]->SetXTitle("#lambda_{0}^{2}"); + outputContainer->Add(fhMCAsymM02NLocMaxNMCPi0Ebin[i]) ; + + + fhAsyMCGenRecoNLocMax1EbinPi0[i] = new TH2F(Form("hAsyMCGenRecoNLocMax1Ebin%dPi0",i), + Form("Generated vs reconstructed asymmetry of split clusters from pi0, NLM=1, E bin %d",i), + 200,-1,1,200,-1,1); + fhAsyMCGenRecoNLocMax1EbinPi0[i]->SetYTitle("M (GeV/c^{2})"); + fhAsyMCGenRecoNLocMax1EbinPi0[i]->SetXTitle("asymmetry"); + outputContainer->Add(fhAsyMCGenRecoNLocMax1EbinPi0[i]) ; + + fhAsyMCGenRecoNLocMax2EbinPi0[i] = new TH2F(Form("hAsyMCGenRecoNLocMax2Ebin%dPi0",i), + Form("Generated vs reconstructed asymmetry of split clusters from pi0, NLM=2, E bin %d",i), + 200,-1,1,200,-1,1); + fhAsyMCGenRecoNLocMax2EbinPi0[i]->SetYTitle("M (GeV/c^{2})"); + fhAsyMCGenRecoNLocMax2EbinPi0[i]->SetXTitle("asymmetry"); + outputContainer->Add(fhAsyMCGenRecoNLocMax2EbinPi0[i]) ; + + fhAsyMCGenRecoNLocMaxNEbinPi0[i] = new TH2F(Form("hAsyMCGenRecoNLocMaxNEbin%dPi0",i), + Form("Generated vs reconstructed asymmetry of split clusters from pi0, NLM>2, E bin %d",i), + 200,-1,1,200,-1,1); + fhAsyMCGenRecoNLocMaxNEbinPi0[i]->SetYTitle("M (GeV/c^{2})"); + fhAsyMCGenRecoNLocMaxNEbinPi0[i]->SetXTitle("asymmetry"); + outputContainer->Add(fhAsyMCGenRecoNLocMaxNEbinPi0[i]) ; + } + if(fFillSSExtraHisto) { fhMassDispEtaNLocMax1Ebin[i] = new TH2F(Form("hMassDispEtaNLocMax1Ebin%d",i), @@ -1573,7 +1626,8 @@ void AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms() fhM02MCGenFracNLocMax1Ebin [mcindex][ebin]->Fill(efrac , l0 ); fhMassMCGenFracNLocMax1Ebin[mcindex][ebin]->Fill(efrac , mass ); } - fhMCAsymM02NLocMax1MCPi0Ebin [ebin]->Fill(l0 , asymGen ); + fhMCAsymM02NLocMax1MCPi0Ebin [ebin]->Fill(l0 , asymGen ); + fhAsyMCGenRecoNLocMax1EbinPi0[ebin]->Fill(asym, asymGen ); } if(fFillSSExtraHisto) @@ -1590,7 +1644,9 @@ void AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms() fhMassSplitEFractionNLocMax1Ebin[0][ebin]->Fill(splitFrac, mass); if(IsDataMC())fhMassSplitEFractionNLocMax1Ebin[mcindex][ebin]->Fill(splitFrac, mass); - fhMassM02NLocMax1Ebin [ebin]->Fill(l0 , mass ); + fhMassM02NLocMax1Ebin [ebin]->Fill(l0 , mass ); + fhMassAsyNLocMax1Ebin [ebin]->Fill(asym, mass ); + if(fFillSSExtraHisto) { fhMassDispEtaNLocMax1Ebin[ebin]->Fill(dispEta, mass ); @@ -1629,8 +1685,8 @@ void AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms() fhM02MCGenFracNLocMax2Ebin [mcindex][ebin]->Fill(efrac , l0 ); fhMassMCGenFracNLocMax2Ebin[mcindex][ebin]->Fill(efrac , mass ); } - fhMCAsymM02NLocMax2MCPi0Ebin [ebin]->Fill(l0 , asymGen ); - + fhMCAsymM02NLocMax2MCPi0Ebin [ebin]->Fill(l0 , asymGen ); + fhAsyMCGenRecoNLocMax2EbinPi0[ebin]->Fill(asym, asymGen ); } if(fFillSSExtraHisto) { @@ -1646,7 +1702,9 @@ void AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms() fhMassSplitEFractionNLocMax2Ebin[0][ebin]->Fill(splitFrac, mass); if(IsDataMC())fhMassSplitEFractionNLocMax2Ebin[mcindex][ebin]->Fill(splitFrac, mass); - fhMassM02NLocMax2Ebin [ebin]->Fill(l0 , mass ); + fhMassM02NLocMax2Ebin [ebin]->Fill(l0 , mass ); + fhMassAsyNLocMax2Ebin [ebin]->Fill(asym, mass ); + if(fFillSSExtraHisto) { fhMassDispEtaNLocMax2Ebin[ebin]->Fill(dispEta, mass ); @@ -1685,7 +1743,8 @@ void AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms() fhM02MCGenFracNLocMaxNEbin [mcindex][ebin]->Fill(efrac , l0 ); fhMassMCGenFracNLocMaxNEbin[mcindex][ebin]->Fill(efrac , mass ); } - fhMCAsymM02NLocMaxNMCPi0Ebin [ebin]->Fill(l0 , asymGen); + fhMCAsymM02NLocMaxNMCPi0Ebin [ebin]->Fill(l0 , asymGen ); + fhAsyMCGenRecoNLocMaxNEbinPi0[ebin]->Fill(asym, asymGen ); } if(fFillSSExtraHisto) { @@ -1701,7 +1760,9 @@ void AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms() fhMassSplitEFractionNLocMaxNEbin[0][ebin]->Fill(splitFrac, mass); if(IsDataMC())fhMassSplitEFractionNLocMaxNEbin[mcindex][ebin]->Fill(splitFrac, mass); - fhMassM02NLocMaxNEbin [ebin]->Fill(l0 , mass ); + fhMassM02NLocMaxNEbin [ebin]->Fill(l0 , mass ); + fhMassAsyNLocMaxNEbin [ebin]->Fill(asym, mass ); + if(fFillSSExtraHisto) { fhMassDispEtaNLocMaxNEbin[ebin]->Fill(dispEta, mass ); @@ -1717,7 +1778,7 @@ void AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms() if( l0 < fM02MinCut || l0 > fM02MaxCut ) continue ; - Bool_t m02OK = GetCaloPID()->IsInMergedM02Range(en,l0,nMax); + Bool_t m02OK = GetCaloPID()->IsInPi0M02Range(en,l0,nMax); Bool_t asyOK = GetCaloPID()->IsInPi0SplitAsymmetryRange(en,asym,nMax); fhNLocMaxM02Cut[0][matched]->Fill(en,nMax); diff --git a/PWGGA/CaloTrackCorrelations/AliAnaInsideClusterInvariantMass.h b/PWGGA/CaloTrackCorrelations/AliAnaInsideClusterInvariantMass.h index d37e2278706..5d26b41e7e2 100755 --- a/PWGGA/CaloTrackCorrelations/AliAnaInsideClusterInvariantMass.h +++ b/PWGGA/CaloTrackCorrelations/AliAnaInsideClusterInvariantMass.h @@ -106,13 +106,21 @@ class AliAnaInsideClusterInvariantMass : public AliAnaCaloTrackCorrBaseClass { TH2F * fhMassSplitECutNLocMax2 ; //! 85% of split energy, not matched, Mass of split clusters, NLM = 1 TH2F * fhMassSplitECutNLocMaxN ; //! 85% of split energy, not matched, Mass of split clusters, NLM > 2 - TH2F * fhMassM02NLocMax1[7][2] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, for E > 7 GeV, 1-6 for different MC particle types - TH2F * fhMassM02NLocMax2[7][2] ; //! Mass of 2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types - TH2F * fhMassM02NLocMaxN[7][2] ; //! Mass of >2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types + TH2F * fhMassM02NLocMax1[7][2] ; //! Mass of splitted clusters when 1 local max vs M02, for E > 7 GeV, 1-6 for different MC particle types + TH2F * fhMassM02NLocMax2[7][2] ; //! Mass of splitted clusters when 2 local max vs M02, for E > 7 GeV, 1-6 for different MC particle types + TH2F * fhMassM02NLocMaxN[7][2] ; //! Mass of splitted clusters when >2 local max vs M02, for E > 7 GeV, 1-6 for different MC particle types - TH2F * fhMassM02NLocMax1Ebin[4] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, 4 E bins, neutral clusters - TH2F * fhMassM02NLocMax2Ebin[4] ; //! Mass of 2 cells local maxima, vs M02, 4 E bins, neutral clusters - TH2F * fhMassM02NLocMaxNEbin[4] ; //! Mass of >2 cells local maxima, vs M02, 4 E bins, neutral clusters + TH2F * fhMassM02NLocMax1Ebin[4] ; //! Mass of splitted clusters when 1 local max vs M02, 4 E bins, neutral clusters + TH2F * fhMassM02NLocMax2Ebin[4] ; //! Mass of splitted clusters when 2 local max vs M02, 4 E bins, neutral clusters + TH2F * fhMassM02NLocMaxNEbin[4] ; //! Mass of splitted clusters when >2 local max vs M02, 4 E bins, neutral clusters + + TH2F * fhMassAsyNLocMax1Ebin[4] ; //! Mass of Mass of splitted clusters when 1 local max vs asymmetry, 4 E bins, neutral clusters + TH2F * fhMassAsyNLocMax2Ebin[4] ; //! Mass of Mass of splitted clusters when 2 local max vs asymmetry, 4 E bins, neutral clusters + TH2F * fhMassAsyNLocMaxNEbin[4] ; //! Mass of Mass of splitted clusters when >2 local max vs asymmetry, 4 E bins, neutral clusters + + TH2F * fhAsyMCGenRecoNLocMax1EbinPi0[4] ; //! Generated vs reconstructed asymmetry of splitted clusters from pi0 when 1 local max, 4 E bins, neutral clusters + TH2F * fhAsyMCGenRecoNLocMax2EbinPi0[4] ; //! Generated vs reconstructed asymmetry of splitted clusters from pi0 when 2 local max, 4 E bins, neutral clusters + TH2F * fhAsyMCGenRecoNLocMaxNEbinPi0[4] ; //! Generated vs reconstructed asymmetry of splitted clusters from pi0 when >2 local max, 4 E bins, neutral clusters TH2F * fhMassDispEtaNLocMax1[7][2] ; //! Mass of 2 highest energy cells when 1 local max, vs M02, for E > 7 GeV, 1-6 for different MC particle types TH2F * fhMassDispEtaNLocMax2[7][2] ; //! Mass of 2 cells local maxima, vs M02, for E > 7 GeV, 1-6 for different MC particle types @@ -153,9 +161,9 @@ class AliAnaInsideClusterInvariantMass : public AliAnaCaloTrackCorrBaseClass { TH2F * fhMCGenFracNLocMax2[7][2] ; //! E generated particle / E reconstructed vs E reconstructed for N max in cluster = 2, 1-6 for different MC particle types TH2F * fhMCGenFracNLocMaxN[7][2] ; //! E generated particle / E reconstructed vs E reconstructed for N max in cluster > 2, 1-6 for different MC particle types - TH2F * fhMCGenFracAfterCutsNLocMax1MCPi0 ; //! E generated particle / E reconstructed vs E reconstructed for N max in cluster = 1, MCPi0 after M02 and asymmetry cut - TH2F * fhMCGenFracAfterCutsNLocMax2MCPi0 ; //! E generated particle / E reconstructed vs E reconstructed for N max in cluster = 2, MCPi0, after M02 and asymmetry cut - TH2F * fhMCGenFracAfterCutsNLocMaxNMCPi0 ; //! E generated particle / E reconstructed vs E reconstructed for N max in cluster > 2, MCPi0, after M02 and asymmetry cut + TH2F * fhMCGenFracAfterCutsNLocMax1MCPi0 ; //! E generated particle / E reconstructed vs E reconstructed for N max in cluster = 1, MCPi0 after M02 and asymmetry cut + TH2F * fhMCGenFracAfterCutsNLocMax2MCPi0 ; //! E generated particle / E reconstructed vs E reconstructed for N max in cluster = 2, MCPi0, after M02 and asymmetry cut + TH2F * fhMCGenFracAfterCutsNLocMaxNMCPi0 ; //! E generated particle / E reconstructed vs E reconstructed for N max in cluster > 2, MCPi0, after M02 and asymmetry cut TH2F * fhMCGenSplitEFracNLocMax1[7][2] ; //! E generated particle / E1+E2 reconstructed vs E reconstructed for N max in cluster = 1, 1-6 for different MC particle types TH2F * fhMCGenSplitEFracNLocMax2[7][2] ; //! E generated particle / E1+E2 reconstructed vs E reconstructed for N max in cluster = 2, 1-6 for different MC particle types