// 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(),
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 ;
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());
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);
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);
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);
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
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)
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
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)
//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
AliAnaParticleIsolation( const AliAnaParticleIsolation & iso) ; // cpy ctor
AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & iso) ; // cpy assignment
- ClassDef(AliAnaParticleIsolation,23)
+ ClassDef(AliAnaParticleIsolation,24)
} ;