From 32d244b0405d3de8cc4ce281f6b36a857aa3aadc Mon Sep 17 00:00:00 2001 From: gconesab Date: Sat, 15 Jun 2013 11:31:38 +0000 Subject: [PATCH] add pt vs M02 histograms - A. Mas --- .../AliAnaParticleIsolation.cxx | 71 +++++++++++++++---- .../AliAnaParticleIsolation.h | 54 +++++++------- 2 files changed, 87 insertions(+), 38 deletions(-) diff --git a/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.cxx b/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.cxx index 307598b41c1..21b598ec363 100755 --- a/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.cxx +++ b/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.cxx @@ -154,10 +154,13 @@ fhEtaPhiFracPtSumIso(), fhEtaPhiFracPtSumDecayIso(), // Cluster control histograms fhTrackMatchedDEta(), fhTrackMatchedDPhi(), fhTrackMatchedDEtaDPhi(), fhdEdx(), fhEOverP(), fhTrackMatchedMCParticle(), -fhELambda0() , fhELambda1(), fhELambda0SSBkg(), -fhELambda0TRD(), fhELambda1TRD(), -fhELambda0MCPhoton(), fhELambda0MCPi0(), fhELambda0MCPi0Decay(), +fhELambda0() , fhPtLambda0() , +fhELambda1(), fhELambda0SSBkg(), +fhELambda0TRD(), fhPtLambda0TRD(), fhELambda1TRD(), +fhELambda0MCPhoton(), fhPtLambda0MCPhotonPrompt(), fhPtLambda0MCPhotonFrag(), +fhELambda0MCPi0(), fhELambda0MCPi0Decay(), fhELambda0MCEtaDecay(), fhELambda0MCOtherDecay(), fhELambda0MCHadron(), + // Number of local maxima in cluster fhNLocMax(), fhELambda0LocMax1(), fhELambda1LocMax1(), @@ -253,8 +256,8 @@ fHistoNPtInConeBins(0), fHistoPtInConeMax(0.), fHistoPtInCon fhELambda0MCPhoton [i] = 0 ; fhELambda0MCPi0 [i] = 0 ; fhELambda0MCPi0Decay[i] = 0 ; fhELambda0MCEtaDecay[i] = 0 ; fhELambda0MCOtherDecay[i] = 0 ; fhELambda0MCHadron [i] = 0 ; - - + fhPtLambda0 [i] = 0 ; fhPtLambda0TRD [i] = 0 ; + fhPtLambda0MCPhotonPrompt [i] = 0 ; fhPtLambda0MCPhotonFrag [i] = 0 ; // Number of local maxima in cluster fhNLocMax [i] = 0 ; fhELambda0LocMax1[i] = 0 ; fhELambda1LocMax1[i] = 0 ; @@ -1157,20 +1160,31 @@ void AliAnaParticleIsolation::FillTrackMatchingShowerShapeControlHistograms(AliA if (fCalorimeter == "EMCAL") clusters = GetEMCALClusters(); else if(fCalorimeter == "PHOS" ) clusters = GetPHOSClusters(); + Float_t energy = pCandidate->E(); + Float_t pt = pCandidate->Pt(); + if(clusters) { AliVCluster *cluster = FindCluster(clusters,clusterID,iclus); - Float_t energy = cluster->E(); if(fFillSSHisto) { - fhELambda0[isolated]->Fill(energy, cluster->GetM02() ); - fhELambda1[isolated]->Fill(energy, cluster->GetM20() ); + fhELambda0 [isolated]->Fill(energy, cluster->GetM02() ); + fhPtLambda0[isolated]->Fill(pt, cluster->GetM02() ); + fhELambda1 [isolated]->Fill(energy, cluster->GetM20() ); if(IsDataMC()) { - if (GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPrompt) || - GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCFragmentation)) fhELambda0MCPhoton [isolated]->Fill(energy, cluster->GetM02()); + if (GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPrompt) || + GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCFragmentation)) + { + fhELambda0MCPhoton [isolated]->Fill(energy, cluster->GetM02()); + + if (GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPrompt)) + fhPtLambda0MCPhotonPrompt [isolated]->Fill(pt, cluster->GetM02()); + else if (GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCFragmentation)) + fhPtLambda0MCPhotonFrag [isolated]->Fill(pt, cluster->GetM02()); + } else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0)) fhELambda0MCPi0 [isolated]->Fill(energy, cluster->GetM02()); else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0Decay)) fhELambda0MCPi0Decay [isolated]->Fill(energy, cluster->GetM02()); else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCEtaDecay)) fhELambda0MCEtaDecay [isolated]->Fill(energy, cluster->GetM02()); @@ -1183,8 +1197,9 @@ void AliAnaParticleIsolation::FillTrackMatchingShowerShapeControlHistograms(AliA if(fCalorimeter == "EMCAL" && GetModuleNumber(cluster) > 5) // TO DO: CHANGE FOR 2012 { - fhELambda0TRD[isolated]->Fill(energy, cluster->GetM02() ); - fhELambda1TRD[isolated]->Fill(energy, cluster->GetM20() ); + fhELambda0TRD [isolated]->Fill(energy, cluster->GetM02() ); + fhPtLambda0TRD[isolated]->Fill(pt , cluster->GetM02() ); + fhELambda1TRD [isolated]->Fill(energy, cluster->GetM20() ); } fhNLocMax[isolated]->Fill(energy,nMaxima); @@ -2290,9 +2305,31 @@ TList * AliAnaParticleIsolation::GetCreateOutputObjects() fhELambda0[iso]->SetYTitle("#lambda_{0}^{2}"); fhELambda0[iso]->SetXTitle("E (GeV)"); outputContainer->Add(fhELambda0[iso]) ; + + fhPtLambda0[iso] = new TH2F + (Form("hPtLambda0%s",hName[iso].Data()), + Form("%s cluster : p_{T} vs #lambda_{0}",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); + fhPtLambda0[iso]->SetYTitle("#lambda_{0}^{2}"); + fhPtLambda0[iso]->SetXTitle("p_{T} (GeV/c)"); + outputContainer->Add(fhPtLambda0[iso]) ; if(IsDataMC()) { + fhPtLambda0MCPhotonPrompt[iso] = new TH2F + (Form("hPtLambda0%s_MCPhotonPrompt",hName[iso].Data()), + Form("%s cluster : Pt vs #lambda_{0}: Origin is prompt photon",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); + fhPtLambda0MCPhotonPrompt[iso]->SetYTitle("#lambda_{0}^{2}"); + fhPtLambda0MCPhotonPrompt[iso]->SetXTitle("Pt (GeV/c)"); + outputContainer->Add(fhPtLambda0MCPhotonPrompt[iso]) ; + + fhPtLambda0MCPhotonFrag[iso] = new TH2F + (Form("hPtLambda0%s_MCPhotonFrag",hName[iso].Data()), + Form("%s cluster : Pt vs #lambda_{0}: Origin is fragmentation photon",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); + fhPtLambda0MCPhotonFrag[iso]->SetYTitle("#lambda_{0}^{2}"); + fhPtLambda0MCPhotonFrag[iso]->SetXTitle("Pt (GeV/c)"); + outputContainer->Add(fhPtLambda0MCPhotonFrag[iso]) ; + + fhELambda0MCPhoton[iso] = new TH2F (Form("hELambda0%s_MCPhoton",hName[iso].Data()), Form("%s cluster : E vs #lambda_{0}: Origin is final state photon",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); @@ -2344,7 +2381,15 @@ TList * AliAnaParticleIsolation::GetCreateOutputObjects() outputContainer->Add(fhELambda1[iso]) ; if(fCalorimeter=="EMCAL") - { + { + + fhPtLambda0TRD[iso] = new TH2F + (Form("hPtLambda0TRD%s",hName[iso].Data()), + Form("%s cluster: p_{T} vs #lambda_{0}, SM behind TRD",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); + fhPtLambda0TRD[iso]->SetYTitle("#lambda_{0}^{2}"); + fhPtLambda0TRD[iso]->SetXTitle("p_{T} (GeV/c)"); + outputContainer->Add(fhPtLambda0TRD[iso]) ; + fhELambda0TRD[iso] = new TH2F (Form("hELambda0TRD%s",hName[iso].Data()), Form("%s cluster: E vs #lambda_{0}, SM behind TRD",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); diff --git a/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.h b/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.h index a3a558fae24..8facb1477a2 100755 --- a/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.h +++ b/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.h @@ -261,22 +261,22 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass { TH2F * fhEtaBandNormCellvsTrack ; //! Accumulated pT cell in Eta band to estimate UE in cone, normalized to cone size, clusters vs tracks TH2F * fhPhiBandNormCellvsTrack ; //! Accumulated pT cell in Phi band to estimate UE in cone, normalized to cone - TH2F * fhConeSumPtSubvsConeSumPtTotPhiTrack; //! Tracks, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub - TH2F * fhConeSumPtSubNormvsConeSumPtTotPhiTrack; //! Tracks, phi band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub - TH2F * fhConeSumPtSubvsConeSumPtTotEtaTrack; //! Tracks, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub - TH2F * fhConeSumPtSubNormvsConeSumPtTotEtaTrack; //! Tracks, eta band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub - TH2F * fhConeSumPtSubvsConeSumPtTotPhiCluster; //! Clusters, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub + TH2F * fhConeSumPtSubvsConeSumPtTotPhiTrack; //! Tracks, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub + TH2F * fhConeSumPtSubNormvsConeSumPtTotPhiTrack; //! Tracks, phi band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub + TH2F * fhConeSumPtSubvsConeSumPtTotEtaTrack; //! Tracks, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub + TH2F * fhConeSumPtSubNormvsConeSumPtTotEtaTrack; //! Tracks, eta band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub + TH2F * fhConeSumPtSubvsConeSumPtTotPhiCluster; //! Clusters, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub TH2F * fhConeSumPtSubNormvsConeSumPtTotPhiCluster; //! Clusters, phi band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub - TH2F * fhConeSumPtSubvsConeSumPtTotEtaCluster; //! Clusters, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub + TH2F * fhConeSumPtSubvsConeSumPtTotEtaCluster; //! Clusters, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub TH2F * fhConeSumPtSubNormvsConeSumPtTotEtaCluster; //! Clusters, eta band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub - TH2F * fhConeSumPtSubvsConeSumPtTotPhiCell; //! Cells, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub - TH2F * fhConeSumPtSubNormvsConeSumPtTotPhiCell; //! Cells, phi band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub - TH2F * fhConeSumPtSubvsConeSumPtTotEtaCell; //! Cells, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub - TH2F * fhConeSumPtSubNormvsConeSumPtTotEtaCell; //! Cells, eta band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub - TH2F * fhConeSumPtVSUETracksEtaBand;//! - TH2F * fhConeSumPtVSUETracksPhiBand;//! - TH2F * fhConeSumPtVSUEClusterEtaBand;//! - TH2F * fhConeSumPtVSUEClusterPhiBand;//! + TH2F * fhConeSumPtSubvsConeSumPtTotPhiCell; //! Cells, phi band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub + TH2F * fhConeSumPtSubNormvsConeSumPtTotPhiCell; //! Cells, phi band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub + TH2F * fhConeSumPtSubvsConeSumPtTotEtaCell; //! Cells, eta band: sum pT in cone after bkg sub vs sum pT in cone before bkg sub + TH2F * fhConeSumPtSubNormvsConeSumPtTotEtaCell; //! Cells, eta band: sum pT in cone after bkg sub normalized by sum pT in cone before bkg sub vs sum pT in cone before bkg sub + TH2F * fhConeSumPtVSUETracksEtaBand; //! fhConeSumPtVSUETracksEtaBand + TH2F * fhConeSumPtVSUETracksPhiBand; //! fhConeSumPtVSUETracksPhiBand + TH2F * fhConeSumPtVSUEClusterEtaBand; //! fhConeSumPtVSUEClusterEtaBand + TH2F * fhConeSumPtVSUEClusterPhiBand; //! fhConeSumPtVSUEClusterPhiBand //MC TH1F * fhPtIsoPrompt; //! Number of isolated prompt gamma @@ -314,19 +314,19 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass { TH2F * fhEtaIsoOtherDecay; //! eta of isolated other decay gamma TH1F * fhPtThresIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt threshold TH1F * fhPtFracIsolatedOtherDecay[5][5]; //! Isolated OtherDecay gamma with pt frac - TH2F * fhPtSumIsolatedOtherDecay[5]; //! Isolated OtherDecay gamma with threshold on cone pt sume + TH2F * fhPtSumIsolatedOtherDecay[5]; //! Isolated OtherDecay gamma with threshold on cone pt sume // TH1F * fhPtIsoConversion; //! Number of isolated Conversion gamma // TH2F * fhPhiIsoConversion; //! Phi of isolated Conversion gamma // TH2F * fhEtaIsoConversion; //! eta of isolated Conversion gamma // TH1F * fhPtThresIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt threshold // TH1F * fhPtFracIsolatedConversion[5][5]; //! Isolated Conversion gamma with pt frac // TH2F * fhPtSumIsolatedConversion[5]; //! Isolated Conversion gamma with threshold on cone pt sume - TH1F * fhPtIsoHadron; //! Number of isolated Hadron - TH2F * fhPhiIsoHadron; //! Phi of isolated Hadron - TH2F * fhEtaIsoHadron; //! eta of isolated Hadron - TH1F * fhPtThresIsolatedHadron[5][5]; //! Isolated Hadron gamma with pt threshold - TH1F * fhPtFracIsolatedHadron[5][5]; //! Isolated Hadron gamma with pt frac - TH2F * fhPtSumIsolatedHadron[5]; //! Isolated Hadron gamma with threshold on cone pt sume + TH1F * fhPtIsoHadron; //! Number of isolated Hadron + TH2F * fhPhiIsoHadron; //! Phi of isolated Hadron + TH2F * fhEtaIsoHadron; //! eta of isolated Hadron + TH1F * fhPtThresIsolatedHadron[5][5]; //! Isolated Hadron gamma with pt threshold + TH1F * fhPtFracIsolatedHadron[5][5]; //! Isolated Hadron gamma with pt frac + TH2F * fhPtSumIsolatedHadron[5]; //! Isolated Hadron gamma with threshold on cone pt sume // Multi Cut analysis Several IC TH1F * fhPtNoIsoPi0; //! Number of not isolated leading pi0 (2 gamma) @@ -338,7 +338,7 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass { TH1F * fhPtNoIsoMCPhoton; //! Number of not isolated leading gamma // TH1F * fhPtNoIsoConversion; //! Number of not isolated leading conversion gamma TH1F * fhPtNoIsoFragmentation; //! Number of not isolated leading fragmentation gamma - TH1F * fhPtNoIsoHadron; //! Number of not isolated leading hadrons + TH1F * fhPtNoIsoHadron; //! Number of not isolated leading hadrons TH2F * fhSumPtLeadingPt[5] ; //! Sum Pt in the cone TH2F * fhPtLeadingPt[5] ; //! Particle Pt in the cone @@ -380,12 +380,16 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass { TH2F * fhTrackMatchedMCParticle[2]; //! Trace origin of matched particle // Shower Shape histograms - TH2F * fhELambda0[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously) + TH2F * fhELambda0[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously) + TH2F * fhPtLambda0[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously) TH2F * fhELambda1[2]; //! Shower shape of (non) isolated photons (do not apply SS cut previously) TH2F * fhELambda0SSBkg; //! Shower shape of non isolated photons close to isolation threshold (do not apply SS cut previously) TH2F * fhELambda0TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously) + TH2F * fhPtLambda0TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously) TH2F * fhELambda1TRD[2]; //! Shower shape of (non) isolated photons, SM behind TRD (do not apply SS cut previously) TH2F * fhELambda0MCPhoton[2]; //! Shower shape of (non) isolated photon candidates originated by particle photon not decay (do not apply SS cut previously) + TH2F * fhPtLambda0MCPhotonPrompt[2]; //! Shower shape of (non) isolated photon candidates originated by particle photon not decay (do not apply SS cut previously) + TH2F * fhPtLambda0MCPhotonFrag[2]; //! Shower shape of (non) isolated photon candidates originated by particle photon not decay (do not apply SS cut previously) TH2F * fhELambda0MCPi0[2]; //! Shower shape of (non) isolated photon candidates originated by particle 2 merged pi0 photons (do not apply SS cut previously) TH2F * fhELambda0MCPi0Decay[2]; //! Shower shape of (non) isolated photon candidates originated by particle pi0 decay photon (do not apply SS cut previously) TH2F * fhELambda0MCEtaDecay[2]; //! Shower shape of (non) isolated photon candidates originated by particle eta decay photon (do not apply SS cut previously) @@ -418,7 +422,7 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass { //Histograms settings Int_t fHistoNPtSumBins; // Number of bins in PtSum histograms Float_t fHistoPtSumMax; // PtSum maximum in histogram - Float_t fHistoPtSumMin; // PtSum minimum in histogram + Float_t fHistoPtSumMin; // PtSum minimum in histogram Int_t fHistoNPtInConeBins; // Number of bins in PtInCone histogram Float_t fHistoPtInConeMax; // PtInCone maximum in histogram Float_t fHistoPtInConeMin; // PtInCone maximum in histogram @@ -426,7 +430,7 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass { AliAnaParticleIsolation( const AliAnaParticleIsolation & iso) ; // cpy ctor AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & iso) ; // cpy assignment - ClassDef(AliAnaParticleIsolation,23) + ClassDef(AliAnaParticleIsolation,24) } ; -- 2.39.3