//________________________________
AliAnaElectron::AliAnaElectron() :
- AliAnaCaloTrackCorrBaseClass(), fCalorimeter(""),
+ AliAnaCaloTrackCorrBaseClass(), fCalorimeter(""),
fMinDist(0.), fMinDist2(0.), fMinDist3(0.),
fTimeCutMin(-1), fTimeCutMax(999999),
- fNCellsCut(0), fFillSSHistograms(kFALSE),
+ fNCellsCut(0), fFillSSHistograms(kFALSE), fFillOnlySimpleSSHisto(1),
fFillWeightHistograms(kFALSE), fNOriginHistograms(8),
fdEdxMin(0.), fdEdxMax (200.),
fEOverPMin(0), fEOverPMax (2),
+ fAODParticle(0),
// Histograms
fhdEdxvsE(0), fhdEdxvsP(0),
fhEOverPvsE(0), fhEOverPvsP(0),
Float_t lambda1 = cluster->GetM20();
Float_t disp = cluster->GetDispersion()*cluster->GetDispersion();
+ Float_t l0 = 0., l1 = 0.;
+ Float_t dispp= 0., dEta = 0., dPhi = 0.;
+ Float_t sEta = 0., sPhi = 0., sEtaPhi = 0.;
+
TLorentzVector mom;
if(GetReader()->GetDataType() != AliCaloTrackReader::kMC)
{
fhDispETRD[pidIndex]->Fill(energy,disp);
}
- if(energy < 2)
+ if(!fFillOnlySimpleSSHisto)
{
- fhNCellsLam0LowE[pidIndex] ->Fill(ncells,lambda0);
- fhEtaLam0LowE[pidIndex] ->Fill(eta, lambda0);
- fhPhiLam0LowE[pidIndex] ->Fill(phi, lambda0);
- }
- else
- {
- fhNCellsLam0HighE[pidIndex]->Fill(ncells,lambda0);
- fhEtaLam0HighE[pidIndex] ->Fill(eta, lambda0);
- fhPhiLam0HighE[pidIndex] ->Fill(phi, lambda0);
- }
-
- Float_t l0 = 0., l1 = 0.;
- Float_t dispp= 0., dEta = 0., dPhi = 0.;
- Float_t sEta = 0., sPhi = 0., sEtaPhi = 0.;
- if(fCalorimeter == "EMCAL")
- {
- GetCaloUtils()->GetEMCALRecoUtils()->RecalculateClusterShowerShapeParameters(GetEMCALGeometry(), GetReader()->GetInputEvent()->GetEMCALCells(), cluster,
- l0, l1, dispp, dEta, dPhi, sEta, sPhi, sEtaPhi);
- fhDispEtaE [pidIndex]-> Fill(energy,dEta);
- fhDispPhiE [pidIndex]-> Fill(energy,dPhi);
- fhSumEtaE [pidIndex]-> Fill(energy,sEta);
- fhSumPhiE [pidIndex]-> Fill(energy,sPhi);
- fhSumEtaPhiE [pidIndex]-> Fill(energy,sEtaPhi);
- fhDispEtaPhiDiffE [pidIndex]-> Fill(energy,dPhi-dEta);
- if(dEta+dPhi>0)fhSphericityE [pidIndex]-> Fill(energy,(dPhi-dEta)/(dEta+dPhi));
-
- if (energy < 2 ) fhDispEtaDispPhiEBin[pidIndex][0]->Fill(dEta,dPhi);
- else if (energy < 4 ) fhDispEtaDispPhiEBin[pidIndex][1]->Fill(dEta,dPhi);
- else if (energy < 6 ) fhDispEtaDispPhiEBin[pidIndex][2]->Fill(dEta,dPhi);
- else if (energy < 10) fhDispEtaDispPhiEBin[pidIndex][3]->Fill(dEta,dPhi);
- else fhDispEtaDispPhiEBin[pidIndex][4]->Fill(dEta,dPhi);
+ if(energy < 2)
+ {
+ fhNCellsLam0LowE[pidIndex] ->Fill(ncells,lambda0);
+ fhEtaLam0LowE[pidIndex] ->Fill(eta, lambda0);
+ fhPhiLam0LowE[pidIndex] ->Fill(phi, lambda0);
+ }
+ else
+ {
+ fhNCellsLam0HighE[pidIndex]->Fill(ncells,lambda0);
+ fhEtaLam0HighE[pidIndex] ->Fill(eta, lambda0);
+ fhPhiLam0HighE[pidIndex] ->Fill(phi, lambda0);
+ }
+ if(fCalorimeter == "EMCAL")
+ {
+ GetCaloUtils()->GetEMCALRecoUtils()->RecalculateClusterShowerShapeParameters(GetEMCALGeometry(), GetReader()->GetInputEvent()->GetEMCALCells(), cluster,
+ l0, l1, dispp, dEta, dPhi, sEta, sPhi, sEtaPhi);
+ fhDispEtaE [pidIndex]-> Fill(energy,dEta);
+ fhDispPhiE [pidIndex]-> Fill(energy,dPhi);
+ fhSumEtaE [pidIndex]-> Fill(energy,sEta);
+ fhSumPhiE [pidIndex]-> Fill(energy,sPhi);
+ fhSumEtaPhiE [pidIndex]-> Fill(energy,sEtaPhi);
+ fhDispEtaPhiDiffE [pidIndex]-> Fill(energy,dPhi-dEta);
+ if(dEta+dPhi>0)fhSphericityE [pidIndex]-> Fill(energy,(dPhi-dEta)/(dEta+dPhi));
+
+ if (energy < 2 ) fhDispEtaDispPhiEBin[pidIndex][0]->Fill(dEta,dPhi);
+ else if (energy < 4 ) fhDispEtaDispPhiEBin[pidIndex][1]->Fill(dEta,dPhi);
+ else if (energy < 6 ) fhDispEtaDispPhiEBin[pidIndex][2]->Fill(dEta,dPhi);
+ else if (energy < 10) fhDispEtaDispPhiEBin[pidIndex][3]->Fill(dEta,dPhi);
+ else fhDispEtaDispPhiEBin[pidIndex][4]->Fill(dEta,dPhi);
+
+ }
}
if(IsDataMC())
fhMCELambda0[pidIndex][index] ->Fill(energy, lambda0);
- if(fCalorimeter == "EMCAL")
+ if(fCalorimeter == "EMCAL" && !fFillOnlySimpleSSHisto)
{
fhMCEDispEta [pidIndex][index]-> Fill(energy,dEta);
fhMCEDispPhi [pidIndex][index]-> Fill(energy,dPhi);
outputContainer->Add(fhDispETRD[pidIndex]);
}
- fhNCellsLam0LowE[pidIndex] = new TH2F (Form("h%sNCellsLam0LowE",pidParticle[pidIndex].Data()),
- Form("%s: N_{cells} in cluster vs #lambda_{0}^{2}, E < 2 GeV",pidParticle[pidIndex].Data()),
- nbins,nmin, nmax, ssbins,ssmin,ssmax);
- fhNCellsLam0LowE[pidIndex]->SetXTitle("N_{cells}");
- fhNCellsLam0LowE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
- outputContainer->Add(fhNCellsLam0LowE[pidIndex]);
-
- fhNCellsLam0HighE[pidIndex] = new TH2F (Form("h%sNCellsLam0HighE",pidParticle[pidIndex].Data()),
- Form("%s: N_{cells} in cluster vs #lambda_{0}^{2}, E > 2 GeV",pidParticle[pidIndex].Data()),
- nbins,nmin, nmax, ssbins,ssmin,ssmax);
- fhNCellsLam0HighE[pidIndex]->SetXTitle("N_{cells}");
- fhNCellsLam0HighE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
- outputContainer->Add(fhNCellsLam0HighE[pidIndex]);
-
-
- fhEtaLam0LowE[pidIndex] = new TH2F (Form("h%sEtaLam0LowE",pidParticle[pidIndex].Data()),
- Form("%s: #eta vs #lambda_{0}^{2}, E < 2 GeV",pidParticle[pidIndex].Data()),
- netabins,etamin,etamax, ssbins,ssmin,ssmax);
- fhEtaLam0LowE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
- fhEtaLam0LowE[pidIndex]->SetXTitle("#eta");
- outputContainer->Add(fhEtaLam0LowE[pidIndex]);
-
- fhPhiLam0LowE[pidIndex] = new TH2F (Form("h%sPhiLam0LowE",pidParticle[pidIndex].Data()),
- Form("%s: #phi vs #lambda_{0}^{2}, E < 2 GeV",pidParticle[pidIndex].Data()),
- nphibins,phimin,phimax, ssbins,ssmin,ssmax);
- fhPhiLam0LowE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
- fhPhiLam0LowE[pidIndex]->SetXTitle("#phi");
- outputContainer->Add(fhPhiLam0LowE[pidIndex]);
-
- fhEtaLam0HighE[pidIndex] = new TH2F (Form("h%sEtaLam0HighE",pidParticle[pidIndex].Data()),
- Form("%s: #eta vs #lambda_{0}^{2}, E > 2 GeV",pidParticle[pidIndex].Data()),
- netabins,etamin,etamax, ssbins,ssmin,ssmax);
- fhEtaLam0HighE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
- fhEtaLam0HighE[pidIndex]->SetXTitle("#eta");
- outputContainer->Add(fhEtaLam0HighE[pidIndex]);
-
- fhPhiLam0HighE[pidIndex] = new TH2F (Form("h%sPhiLam0HighE",pidParticle[pidIndex].Data()),
- Form("%s: #phi vs #lambda_{0}^{2}, E > 2 GeV",pidParticle[pidIndex].Data()),
- nphibins,phimin,phimax, ssbins,ssmin,ssmax);
- fhPhiLam0HighE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
- fhPhiLam0HighE[pidIndex]->SetXTitle("#phi");
- outputContainer->Add(fhPhiLam0HighE[pidIndex]);
-
- if(fCalorimeter == "EMCAL")
+ if(!fFillOnlySimpleSSHisto)
{
- fhDispEtaE[pidIndex] = new TH2F (Form("h%sDispEtaE",pidParticle[pidIndex].Data()),
- Form("%s: #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E",pidParticle[pidIndex].Data()),
- nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhDispEtaE[pidIndex]->SetXTitle("E (GeV)");
- fhDispEtaE[pidIndex]->SetYTitle("#sigma^{2}_{#eta #eta}");
- outputContainer->Add(fhDispEtaE[pidIndex]);
- fhDispPhiE[pidIndex] = new TH2F (Form("h%sDispPhiE",pidParticle[pidIndex].Data()),
- Form("%s: #sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E",pidParticle[pidIndex].Data()),
- nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhDispPhiE[pidIndex]->SetXTitle("E (GeV)");
- fhDispPhiE[pidIndex]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhDispPhiE[pidIndex]);
+ fhNCellsLam0LowE[pidIndex] = new TH2F (Form("h%sNCellsLam0LowE",pidParticle[pidIndex].Data()),
+ Form("%s: N_{cells} in cluster vs #lambda_{0}^{2}, E < 2 GeV",pidParticle[pidIndex].Data()),
+ nbins,nmin, nmax, ssbins,ssmin,ssmax);
+ fhNCellsLam0LowE[pidIndex]->SetXTitle("N_{cells}");
+ fhNCellsLam0LowE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
+ outputContainer->Add(fhNCellsLam0LowE[pidIndex]);
+
+ fhNCellsLam0HighE[pidIndex] = new TH2F (Form("h%sNCellsLam0HighE",pidParticle[pidIndex].Data()),
+ Form("%s: N_{cells} in cluster vs #lambda_{0}^{2}, E > 2 GeV",pidParticle[pidIndex].Data()),
+ nbins,nmin, nmax, ssbins,ssmin,ssmax);
+ fhNCellsLam0HighE[pidIndex]->SetXTitle("N_{cells}");
+ fhNCellsLam0HighE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
+ outputContainer->Add(fhNCellsLam0HighE[pidIndex]);
- fhSumEtaE[pidIndex] = new TH2F (Form("h%sSumEtaE",pidParticle[pidIndex].Data()),
- Form("%s: #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i})^{2} / #Sigma w_{i} - <#eta>^{2} vs E",pidParticle[pidIndex].Data()),
- nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhSumEtaE[pidIndex]->SetXTitle("E (GeV)");
- fhSumEtaE[pidIndex]->SetYTitle("#delta^{2}_{#eta #eta}");
- outputContainer->Add(fhSumEtaE[pidIndex]);
- fhSumPhiE[pidIndex] = new TH2F (Form("h%sSumPhiE",pidParticle[pidIndex].Data()),
- Form("%s: #sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i})^{2}/ #Sigma w_{i} - <#phi>^{2} vs E",pidParticle[pidIndex].Data()),
- nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhSumPhiE[pidIndex]->SetXTitle("E (GeV)");
- fhSumPhiE[pidIndex]->SetYTitle("#delta^{2}_{#phi #phi}");
- outputContainer->Add(fhSumPhiE[pidIndex]);
+ fhEtaLam0LowE[pidIndex] = new TH2F (Form("h%sEtaLam0LowE",pidParticle[pidIndex].Data()),
+ Form("%s: #eta vs #lambda_{0}^{2}, E < 2 GeV",pidParticle[pidIndex].Data()),
+ netabins,etamin,etamax, ssbins,ssmin,ssmax);
+ fhEtaLam0LowE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
+ fhEtaLam0LowE[pidIndex]->SetXTitle("#eta");
+ outputContainer->Add(fhEtaLam0LowE[pidIndex]);
- fhSumEtaPhiE[pidIndex] = new TH2F (Form("h%sSumEtaPhiE",pidParticle[pidIndex].Data()),
- Form("%s: #delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",pidParticle[pidIndex].Data()),
- nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
- fhSumEtaPhiE[pidIndex]->SetXTitle("E (GeV)");
- fhSumEtaPhiE[pidIndex]->SetYTitle("#delta^{2}_{#eta #phi}");
- outputContainer->Add(fhSumEtaPhiE[pidIndex]);
+ fhPhiLam0LowE[pidIndex] = new TH2F (Form("h%sPhiLam0LowE",pidParticle[pidIndex].Data()),
+ Form("%s: #phi vs #lambda_{0}^{2}, E < 2 GeV",pidParticle[pidIndex].Data()),
+ nphibins,phimin,phimax, ssbins,ssmin,ssmax);
+ fhPhiLam0LowE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
+ fhPhiLam0LowE[pidIndex]->SetXTitle("#phi");
+ outputContainer->Add(fhPhiLam0LowE[pidIndex]);
- fhDispEtaPhiDiffE[pidIndex] = new TH2F (Form("h%sDispEtaPhiDiffE",pidParticle[pidIndex].Data()),
- Form("%s: #sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",pidParticle[pidIndex].Data()),
- nptbins,ptmin,ptmax,200, -10,10);
- fhDispEtaPhiDiffE[pidIndex]->SetXTitle("E (GeV)");
- fhDispEtaPhiDiffE[pidIndex]->SetYTitle("#sigma^{2}_{#phi #phi}-#sigma^{2}_{#eta #eta}");
- outputContainer->Add(fhDispEtaPhiDiffE[pidIndex]);
+ fhEtaLam0HighE[pidIndex] = new TH2F (Form("h%sEtaLam0HighE",pidParticle[pidIndex].Data()),
+ Form("%s: #eta vs #lambda_{0}^{2}, E > 2 GeV",pidParticle[pidIndex].Data()),
+ netabins,etamin,etamax, ssbins,ssmin,ssmax);
+ fhEtaLam0HighE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
+ fhEtaLam0HighE[pidIndex]->SetXTitle("#eta");
+ outputContainer->Add(fhEtaLam0HighE[pidIndex]);
- fhSphericityE[pidIndex] = new TH2F (Form("h%sSphericityE",pidParticle[pidIndex].Data()),
- Form("%s: (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",pidParticle[pidIndex].Data()),
- nptbins,ptmin,ptmax, 200, -1,1);
- fhSphericityE[pidIndex]->SetXTitle("E (GeV)");
- fhSphericityE[pidIndex]->SetYTitle("s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
- outputContainer->Add(fhSphericityE[pidIndex]);
+ fhPhiLam0HighE[pidIndex] = new TH2F (Form("h%sPhiLam0HighE",pidParticle[pidIndex].Data()),
+ Form("%s: #phi vs #lambda_{0}^{2}, E > 2 GeV",pidParticle[pidIndex].Data()),
+ nphibins,phimin,phimax, ssbins,ssmin,ssmax);
+ fhPhiLam0HighE[pidIndex]->SetYTitle("#lambda_{0}^{2}");
+ fhPhiLam0HighE[pidIndex]->SetXTitle("#phi");
+ outputContainer->Add(fhPhiLam0HighE[pidIndex]);
- Int_t bin[] = {0,2,4,6,10,1000};
- for(Int_t i = 0; i < 5; i++)
+ if(fCalorimeter == "EMCAL")
{
- fhDispEtaDispPhiEBin[pidIndex][i] = new TH2F (Form("h%sDispEtaDispPhi_EBin%d",pidParticle[pidIndex].Data(),i),
- Form("%s: #sigma^{2}_{#phi #phi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pidParticle[pidIndex].Data(),bin[i],bin[i+1]),
- ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
- fhDispEtaDispPhiEBin[pidIndex][i]->SetXTitle("#sigma^{2}_{#eta #eta}");
- fhDispEtaDispPhiEBin[pidIndex][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhDispEtaDispPhiEBin[pidIndex][i]);
+ fhDispEtaE[pidIndex] = new TH2F (Form("h%sDispEtaE",pidParticle[pidIndex].Data()),
+ Form("%s: #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E",pidParticle[pidIndex].Data()),
+ nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhDispEtaE[pidIndex]->SetXTitle("E (GeV)");
+ fhDispEtaE[pidIndex]->SetYTitle("#sigma^{2}_{#eta #eta}");
+ outputContainer->Add(fhDispEtaE[pidIndex]);
+
+ fhDispPhiE[pidIndex] = new TH2F (Form("h%sDispPhiE",pidParticle[pidIndex].Data()),
+ Form("%s: #sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E",pidParticle[pidIndex].Data()),
+ nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhDispPhiE[pidIndex]->SetXTitle("E (GeV)");
+ fhDispPhiE[pidIndex]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhDispPhiE[pidIndex]);
+
+ fhSumEtaE[pidIndex] = new TH2F (Form("h%sSumEtaE",pidParticle[pidIndex].Data()),
+ Form("%s: #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i})^{2} / #Sigma w_{i} - <#eta>^{2} vs E",pidParticle[pidIndex].Data()),
+ nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhSumEtaE[pidIndex]->SetXTitle("E (GeV)");
+ fhSumEtaE[pidIndex]->SetYTitle("#delta^{2}_{#eta #eta}");
+ outputContainer->Add(fhSumEtaE[pidIndex]);
+
+ fhSumPhiE[pidIndex] = new TH2F (Form("h%sSumPhiE",pidParticle[pidIndex].Data()),
+ Form("%s: #sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i})^{2}/ #Sigma w_{i} - <#phi>^{2} vs E",pidParticle[pidIndex].Data()),
+ nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhSumPhiE[pidIndex]->SetXTitle("E (GeV)");
+ fhSumPhiE[pidIndex]->SetYTitle("#delta^{2}_{#phi #phi}");
+ outputContainer->Add(fhSumPhiE[pidIndex]);
+
+ fhSumEtaPhiE[pidIndex] = new TH2F (Form("h%sSumEtaPhiE",pidParticle[pidIndex].Data()),
+ Form("%s: #delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",pidParticle[pidIndex].Data()),
+ nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
+ fhSumEtaPhiE[pidIndex]->SetXTitle("E (GeV)");
+ fhSumEtaPhiE[pidIndex]->SetYTitle("#delta^{2}_{#eta #phi}");
+ outputContainer->Add(fhSumEtaPhiE[pidIndex]);
+
+ fhDispEtaPhiDiffE[pidIndex] = new TH2F (Form("h%sDispEtaPhiDiffE",pidParticle[pidIndex].Data()),
+ Form("%s: #sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",pidParticle[pidIndex].Data()),
+ nptbins,ptmin,ptmax,200, -10,10);
+ fhDispEtaPhiDiffE[pidIndex]->SetXTitle("E (GeV)");
+ fhDispEtaPhiDiffE[pidIndex]->SetYTitle("#sigma^{2}_{#phi #phi}-#sigma^{2}_{#eta #eta}");
+ outputContainer->Add(fhDispEtaPhiDiffE[pidIndex]);
+
+ fhSphericityE[pidIndex] = new TH2F (Form("h%sSphericityE",pidParticle[pidIndex].Data()),
+ Form("%s: (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",pidParticle[pidIndex].Data()),
+ nptbins,ptmin,ptmax, 200, -1,1);
+ fhSphericityE[pidIndex]->SetXTitle("E (GeV)");
+ fhSphericityE[pidIndex]->SetYTitle("s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
+ outputContainer->Add(fhSphericityE[pidIndex]);
+
+ Int_t bin[] = {0,2,4,6,10,1000};
+ for(Int_t i = 0; i < 5; i++)
+ {
+ fhDispEtaDispPhiEBin[pidIndex][i] = new TH2F (Form("h%sDispEtaDispPhi_EBin%d",pidParticle[pidIndex].Data(),i),
+ Form("%s: #sigma^{2}_{#phi #phi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pidParticle[pidIndex].Data(),bin[i],bin[i+1]),
+ ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
+ fhDispEtaDispPhiEBin[pidIndex][i]->SetXTitle("#sigma^{2}_{#eta #eta}");
+ fhDispEtaDispPhiEBin[pidIndex][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhDispEtaDispPhiEBin[pidIndex][i]);
+ }
}
}
-
} // Shower shape
if(IsDataMC())
fhMCELambda0[pidIndex][i]->SetXTitle("E (GeV)");
outputContainer->Add(fhMCELambda0[pidIndex][i]) ;
- if(fCalorimeter=="EMCAL")
+ if(fCalorimeter=="EMCAL" && !fFillOnlySimpleSSHisto)
{
fhMCEDispEta[pidIndex][i] = new TH2F (Form("h%sEDispEtaE_MC%s",pidParticle[pidIndex].Data(),pnamess[i].Data()),
Form("cluster from %s : %s like, #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E",ptypess[i].Data(),pidParticle[pidIndex].Data()),
fhMCESphericity[pidIndex][i]->SetXTitle("E (GeV)");
fhMCESphericity[pidIndex][i]->SetYTitle("s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
outputContainer->Add(fhMCESphericity[pidIndex][i]);
-
}
}// loop
}
}
- if(IsCaloPIDOn() && pidIndex > 0) continue;
+ //if(IsCaloPIDOn() && pidIndex > 0) continue;
fhNCellsE[pidIndex] = new TH2F (Form("h%sNCellsE",pidParticle[pidIndex].Data()),
Form("N cells in %s cluster vs E ",pidParticle[pidIndex].Data()),
//----------------------------
//Create AOD for analysis
//----------------------------
- AliAODPWG4Particle aodph = AliAODPWG4Particle(mom);
+ AliAODPWG4Particle aodpart = AliAODPWG4Particle(mom);
//...............................................
//Set the indeces of the original caloclusters (MC, ID), and calorimeter
Int_t label = calo->GetLabel();
- aodph.SetLabel(label);
- aodph.SetCaloLabel(calo->GetID(),-1);
- aodph.SetDetector(fCalorimeter);
+ aodpart.SetLabel(label);
+ aodpart.SetCaloLabel(calo->GetID(),-1);
+ aodpart.SetDetector(fCalorimeter);
//printf("Index %d, Id %d, iaod %d\n",icalo, calo->GetID(),GetOutputAODBranch()->GetEntriesFast());
//...............................................
//Set bad channel distance bit
Double_t distBad=calo->GetDistanceToBadChannel() ; //Distance to bad channel
- if (distBad > fMinDist3) aodph.SetDistToBad(2) ;
- else if(distBad > fMinDist2) aodph.SetDistToBad(1) ;
- else aodph.SetDistToBad(0) ;
- //printf("DistBad %f Bit %d\n",distBad, aodph.DistToBad());
+ if (distBad > fMinDist3) aodpart.SetDistToBad(2) ;
+ else if(distBad > fMinDist2) aodpart.SetDistToBad(1) ;
+ else aodpart.SetDistToBad(0) ;
+ //printf("DistBad %f Bit %d\n",distBad, aodpart.DistToBad());
//--------------------------------------------------------------------------------------
//Play with the MC stack if available
//--------------------------------------------------------------------------------------
//Check origin of the candidates
- if(IsDataMC()){
- aodph.SetTag(GetMCAnalysisUtils()->CheckOrigin(calo->GetLabels(),calo->GetNLabels(),GetReader(), aodph.GetInputFileIndex()));
+ if(IsDataMC())
+ {
+ aodpart.SetTag(GetMCAnalysisUtils()->CheckOrigin(calo->GetLabels(),calo->GetNLabels(),GetReader(), aodpart.GetInputFileIndex()));
if(GetDebug() > 0)
- printf("AliAnaElectron::MakeAnalysisFillAOD() - Origin of candidate, bit map %d\n",aodph.GetTag());
+ printf("AliAnaElectron::MakeAnalysisFillAOD() - Origin of candidate, bit map %d\n",aodpart.GetTag());
}//Work with stack also
}// dEdx
- aodph.SetIdentifiedParticleType(pid);
+ aodpart.SetIdentifiedParticleType(pid);
Int_t pidIndex = 0;// Electron
if(pid == AliCaloPID::kChargedHadron) pidIndex = 1;
//Fill some shower shape histograms
//---------------------------------
- FillShowerShapeHistograms(calo,aodph.GetTag(),pid);
+ FillShowerShapeHistograms(calo,aodpart.GetTag(),pid);
if(pid == AliCaloPID::kElectron)
WeightHistograms(calo);
// Get most probable PID, 2 options check bayesian PID weights or redo PID
// By default, redo PID
- if(GetCaloPID()->GetIdentifiedParticleType(calo)!=AliCaloPID::kPhoton) continue;
-
- if(GetDebug() > 1) printf("AliAnaPhoton::MakeAnalysisFillAOD() - PDG of identified particle %d\n",aodph.GetIdentifiedParticleType());
+ if(GetCaloPID()->GetIdentifiedParticleType(calo)!=AliCaloPID::kPhoton)
+ {
+ continue;
+ }
+ if(GetDebug() > 1) printf("AliAnaPhoton::MakeAnalysisFillAOD() - PDG of identified particle %d\n",aodpart.GetIdentifiedParticleType());
}
if(GetDebug() > 1) printf("AliAnaElectron::MakeAnalysisFillAOD() - Photon selection cuts passed: pT %3.2f, pdg %d\n",
- aodph.Pt(), aodph.GetIdentifiedParticleType());
+ aodpart.Pt(), aodpart.GetIdentifiedParticleType());
//FIXME, this to MakeAnalysisFillHistograms ...
Int_t absID = 0;
else cells = GetPHOSCells();
absID = GetCaloUtils()->GetMaxEnergyCell(cells, calo,maxCellFraction);
-
- fhMaxCellDiffClusterE[pidIndex]->Fill(aodph.E(),maxCellFraction);
- fhNCellsE[pidIndex] ->Fill(aodph.E(),calo->GetNCells());
- fhTimeE[pidIndex] ->Fill(aodph.E(),calo->GetTOF()*1.e9);
+ fhMaxCellDiffClusterE[pidIndex]->Fill(aodpart.E(),maxCellFraction);
+ fhNCellsE[pidIndex] ->Fill(aodpart.E(),calo->GetNCells());
+ fhTimeE[pidIndex] ->Fill(aodpart.E(),calo->GetTOF()*1.e9);
+
+ //Add AOD with electron/hadron object to aod branch
+ if ( pid == fAODParticle || fAODParticle == 0 )
+ {
+ AddAODParticle(aodpart);
+ }
- //Add AOD with photon object to aod branch
- AddAODParticle(aodph);
-
}//loop
if(GetDebug() > 1) printf("AliAnaElectron::MakeAnalysisFillAOD() End fill AODs, with %d entries \n",GetOutputAODBranch()->GetEntriesFast());
Double_t GetNCellCut() const { return fNCellsCut ; }
void FillNOriginHistograms(Int_t n) { fNOriginHistograms = n ;
- if(n > 10) fNOriginHistograms = 10; }
+ if(n > 10) fNOriginHistograms = 10; }
+
+ void FillAODWithElectrons() { fAODParticle = AliCaloPID::kElectron ; }
+ void FillAODWithHadrons() { fAODParticle = AliCaloPID::kChargedHadron ; }
+ void FillAODWithAny() { fAODParticle = 0 ; }
+
+ void SwitchOnOnlySimpleSSHistoFill() { fFillOnlySimpleSSHisto = kTRUE ; }
+ void SwitchOffOnlySimpleHistoFill() { fFillOnlySimpleSSHisto = kFALSE ; }
+
// For histograms in arrays, index in the array, corresponding to a particle
enum mcTypes { kmcPhoton = 0, kmcPi0Decay = 1, kmcOtherDecay = 2,
kmcPi0 = 3, kmcEta = 4, kmcElectron = 5,
Double_t fTimeCutMax ; // Remove clusters/cells with time larger than this value, in ns
Int_t fNCellsCut ; // Accept for the analysis clusters with more than fNCellsCut cells
Bool_t fFillSSHistograms ; // Fill shower shape histograms
+ Bool_t fFillOnlySimpleSSHisto; // Fill selected cluster histograms, selected SS histograms
Bool_t fFillWeightHistograms ; // Fill weigth histograms
Int_t fNOriginHistograms; // Fill only NOriginHistograms of the 14 defined types
Float_t fEOverPMin; // Max E/p for electrons, after dEdx cut
Float_t fEOverPMax; // Min E/p for electrons, after dEdx cut
+ Int_t fAODParticle; // Select the type of particle to put in AODs for other analysis
+
//Histograms
TH2F * fhdEdxvsE; //! matched track dEdx vs cluster E
TH2F * fhdEdxvsP; //! matched track dEdx vs track P
TH2F * fhEmbedElectronELambda0MostlyBkg ; //! Lambda0 vs E for embedded electrons with 50%<fraction<10%
TH2F * fhEmbedElectronELambda0FullBkg ; //! Lambda0 vs E for embedded electrons with less than 10% of the cluster energy
- AliAnaElectron( const AliAnaElectron & g) ; // cpy ctor
- AliAnaElectron & operator = (const AliAnaElectron & g) ; // cpy assignment
+ AliAnaElectron( const AliAnaElectron & el) ; // cpy ctor
+ AliAnaElectron & operator = (const AliAnaElectron & el) ; // cpy assignment
- ClassDef(AliAnaElectron,3)
+ ClassDef(AliAnaElectron,4)
} ;
const Bool_t isolated[4],
Int_t & iparton) ;
- TList * GetCreateOutputObjects() ;
+ TList * GetCreateOutputObjects() ;
void GetPartonsAndJets() ;
//Histograms
fhPtInput(0), fhPtFidCut(0),
fhPtLeading(0), fhPtLeadingVzBin(0), fhPtLeadingBin(0),
- fhPhiLeading(0), fhEtaLeading(0),
+ fhPhiLeading(0), fhEtaLeading(0),
+ fhPtLeadingMC(),
fhPtLeadingCentrality(0), fhPtLeadingEventPlane(0),
fhLeadingEventPlaneCentrality(0),
fhPtLeadingMixed(0), fhPtLeadingMixedVzBin(0), fhPtLeadingMixedBin(0),
fhZTCharged(0), fhZTUeCharged(0),
fhZTPosCharged(0), fhZTNegCharged(0),
fhPtHbpZTCharged(0), fhPtHbpZTUeCharged(0),
+ fhXEChargedMC(),
fhDeltaPhiUeLeftCharged(0), fhDeltaPhiUeRightCharged(0),
fhDeltaPhiUeLeftUpCharged(0), fhDeltaPhiUeRightUpCharged(0),
fhDeltaPhiUeLeftDownCharged(0), fhDeltaPhiUeRightDownCharged(0),
//Initialize parameters
InitParameters();
+
+ for(Int_t i = 0; i < 6; i++)
+ {
+ fhPtLeadingMC[i] = 0;
+ fhXEChargedMC[i] = 0;
+ }
+
}
//_________________________________________________________________
const Float_t zT, const Float_t hbpZT,
const Float_t pout, const Float_t deltaPhi,
const Int_t nTracks, const Int_t charge,
- const Int_t bin, const Bool_t decay )
+ const Int_t bin, const Bool_t decay,
+ const Int_t mcTag)
{
// Fill mostly momentum imbalance related histograms
fhPtTrigPout ->Fill(ptTrig , pout) ;
fhPtTrigCharged ->Fill(ptTrig , ptAssoc) ;
+ if(IsDataMC())
+ {
+ if ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPrompt) ||
+ GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCFragmentation)) fhXEChargedMC[0]->Fill(ptTrig , xE);
+ else if( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0)) fhXEChargedMC[1]->Fill(ptTrig , xE);
+ else if( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0Decay)) fhXEChargedMC[2]->Fill(ptTrig , xE);
+ else if( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCEtaDecay)) fhXEChargedMC[3]->Fill(ptTrig , xE);
+ else if( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCOtherDecay)) fhXEChargedMC[4]->Fill(ptTrig , xE);
+ else if(!GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCElectron)) fhXEChargedMC[5]->Fill(ptTrig , xE);
+ }
+
if(fDecayTrigger && decay)
{
fhXEDecayCharged->Fill(ptTrig,xE);
Int_t nMixBins = GetNCentrBin()*GetNZvertBin()*GetNRPBin();
+ TString nameMC[] = {"Photon","Pi0","Pi0Decay","EtaDecay","OtherDecay","Hadron"};
+
+
// For vz dependent histograms, if option ON
Int_t nz = 1 ;
if(fCorrelVzBin) nz = GetNZvertBin();
TString sz = "" ;
TString tz = "" ;
- fhPtInput = new TH1F("hPtInput","p_T distribution of input trigger particles", nptbins,ptmin,ptmax);
+ fhPtInput = new TH1F("hPtInput","p_{T} distribution of input trigger particles", nptbins,ptmin,ptmax);
fhPtInput->SetXTitle("p_{T}^{trig} (GeV/c)");
outputContainer->Add(fhPtInput);
- fhPtFidCut = new TH1F("hPtFidCut","p_T distribution of input trigger particles after fiducial cut", nptbins,ptmin,ptmax);
+ fhPtFidCut = new TH1F("hPtFidCut","p_{T} distribution of input trigger particles after fiducial cut", nptbins,ptmin,ptmax);
fhPtFidCut->SetXTitle("p_{T}^{trig} (GeV/c)");
outputContainer->Add(fhPtFidCut);
- fhPtLeading = new TH1F("hPtLeading","p_T distribution of leading particles", nptbins,ptmin,ptmax);
+ fhPtLeading = new TH1F("hPtLeading","p_{T} distribution of leading particles", nptbins,ptmin,ptmax);
fhPtLeading->SetXTitle("p_{T}^{trig} (GeV/c)");
outputContainer->Add(fhPtLeading);
+ if(IsDataMC())
+ {
+ for(Int_t i=0; i < 6; i++)
+ {
+ fhPtLeadingMC[i] = new TH1F(Form("hPtLeading_MC%s",nameMC[i].Data()),
+ Form("p_{T} distribution of leading particles, trigger origin is %s",nameMC[i].Data()),
+ nptbins,ptmin,ptmax);
+ fhPtLeadingMC[i]->SetXTitle("p_{T}^{trig} (GeV/c)");
+ outputContainer->Add(fhPtLeadingMC[i]);
+ }
+ }
+
if(fCorrelVzBin)
{
- fhPtLeadingVzBin = new TH2F("hPtLeadingVzBin","p_T distribution of leading particles vs vz bin", nptbins,ptmin,ptmax,GetNZvertBin(),0,GetNZvertBin());
+ fhPtLeadingVzBin = new TH2F("hPtLeadingVzBin","p_{T} distribution of leading particles vs vz bin", nptbins,ptmin,ptmax,GetNZvertBin(),0,GetNZvertBin());
fhPtLeadingVzBin->SetXTitle("p_{T}^{trig} (GeV/c)");
fhPtLeadingVzBin->SetYTitle("v_{z} bin");
outputContainer->Add(fhPtLeadingVzBin);
}
- fhPtLeadingBin = new TH2F ("hPtLeadingBin","p_T distribution of leading particles", nptbins,ptmin,ptmax,nMixBins,0,nMixBins);
+ fhPtLeadingBin = new TH2F ("hPtLeadingBin","p_{T} distribution of leading particles", nptbins,ptmin,ptmax,nMixBins,0,nMixBins);
fhPtLeadingBin->SetXTitle("p_{T}^{trig} (GeV/c)");
fhPtLeadingBin->SetYTitle("Bin");
outputContainer->Add(fhPtLeadingBin);
outputContainer->Add(fhUePart);
outputContainer->Add(fhXECharged) ;
+
+ if(IsDataMC())
+ {
+ for(Int_t i=0; i < 6; i++)
+ {
+ fhXEChargedMC[i] = new TH2F(Form("hXECharged_MC%s",nameMC[i].Data()),
+ Form("x_{E} for charged tracks, trigger origin is %s",nameMC[i].Data()),
+ nptbins,ptmin,ptmax,200,0.,2.);
+ fhXEChargedMC[i]->SetYTitle("x_{E}");
+ fhXEChargedMC[i]->SetXTitle("p_{T trigger}");
+ outputContainer->Add(fhXEChargedMC[i]) ;
+ }
+ }
+
outputContainer->Add(fhXEPosCharged) ;
outputContainer->Add(fhXENegCharged) ;
outputContainer->Add(fhXEUeCharged) ;
if(fPi0Trigger)
{
fhPtPi0DecayRatio = new TH2F
- ("hPtPi0DecayRatio","p_T of #pi^{0} and the ratio of pt for two decay",
+ ("hPtPi0DecayRatio","p_{T} of #pi^{0} and the ratio of pt for two decay",
nptbins,ptmin,ptmax, 100,0.,2.);
fhPtPi0DecayRatio->SetXTitle("p_{T}^{#pi^{0}} (GeV/c)");
fhPtPi0DecayRatio->SetYTitle("p_{T}^{Decay}/p_{T}^{#pi^{0}}");
fh2phiLeadingParticle->GetXaxis()->SetTitle("p_{T gen Leading} (GeV/c)");
fh2phiLeadingParticle->GetYaxis()->SetTitle("(#phi_{rec}-#phi_{gen})/#phi_{gen}");
- fhMCPtLeading = new TH1F ("hMCPtLeading","MC : p_T distribution of leading particles", nptbins,ptmin,ptmax);
+ fhMCPtLeading = new TH1F ("hMCPtLeading","MC : p_{T} distribution of leading particles", nptbins,ptmin,ptmax);
fhMCPtLeading->SetXTitle("p_{T}^{trig} (GeV/c)");
fhMCPhiLeading = new TH2F ("hMCPhiLeading","MC : #phi distribution of leading Particles",nptbins,ptmin,ptmax, nphibins,phimin,phimax);
}
}
- fhPtLeadingMixed = new TH1F ("hPtLeadingMixed","p_T distribution of leading particles, used for mixing", nptbins,ptmin,ptmax);
+ fhPtLeadingMixed = new TH1F ("hPtLeadingMixed","p_{T} distribution of leading particles, used for mixing", nptbins,ptmin,ptmax);
fhPtLeadingMixed->SetXTitle("p_{T}^{trig} (GeV/c)");
if(fCorrelVzBin)
{
- fhPtLeadingMixedVzBin = new TH2F ("hPtLeadingMixedVzBin","p_T distribution of leading particles, used for mixing", nptbins,ptmin,ptmax,GetNZvertBin(),0,GetNZvertBin());
+ fhPtLeadingMixedVzBin = new TH2F ("hPtLeadingMixedVzBin","p_{T} distribution of leading particles, used for mixing", nptbins,ptmin,ptmax,GetNZvertBin(),0,GetNZvertBin());
fhPtLeadingMixedVzBin->SetXTitle("p_{T}^{trig} (GeV/c)");
fhPtLeadingMixedVzBin->SetYTitle("v_{z} bin");
outputContainer->Add(fhPtLeadingMixedVzBin);
}
- fhPtLeadingMixedBin = new TH2F ("hPtLeadingMixedBin","p_T distribution of leading particles vs mixing bin", nptbins,ptmin,ptmax,nMixBins,0,nMixBins);
+ fhPtLeadingMixedBin = new TH2F ("hPtLeadingMixedBin","p_{T} distribution of leading particles vs mixing bin", nptbins,ptmin,ptmax,nMixBins,0,nMixBins);
fhPtLeadingMixedBin->SetXTitle("p_{T}^{trig} (GeV/c)");
fhPtLeadingMixedBin->SetYTitle("Bin");
fhEtaLeading->Fill(pt, particle->Eta());
//printf("AliAnaParticleHadronCorrelation::MakeAnalysisFillHistograms() - Leading particle : pt %f, eta %f, phi %f\n",particle->Pt(),particle->Eta(),phi);
+ if(IsDataMC())
+ {
+ Int_t mcTag = particle->GetTag();
+ if ( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPrompt) ||
+ GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCFragmentation)) fhPtLeadingMC[0]->Fill(pt);
+ else if( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0)) fhPtLeadingMC[1]->Fill(pt);
+ else if( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0Decay)) fhPtLeadingMC[2]->Fill(pt);
+ else if( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCEtaDecay)) fhPtLeadingMC[3]->Fill(pt);
+ else if( GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCOtherDecay)) fhPtLeadingMC[4]->Fill(pt);
+ else if(!GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCElectron)) fhPtLeadingMC[5]->Fill(pt);
+ }
+
Float_t cen = GetEventCentrality();
Float_t ep = GetEventPlaneAngle();
{
FillChargedMomentumImbalanceHistograms(ptTrig, pt, xE, hbpXE, zT, hbpZT, pout, deltaPhi,
- nTracks, track->Charge(), bin, decay);
+ nTracks, track->Charge(), bin, decay,aodParticle->GetTag());
}
if ( (deltaPhi > fUeDeltaPhiMinCut) && (deltaPhi < fUeDeltaPhiMaxCut) )
const Float_t zT, const Float_t hbpZT,
const Float_t pout, const Float_t deltaPhi,
const Int_t nTracks, const Int_t charge,
- const Int_t assocBin, const Bool_t decay );
+ const Int_t assocBin, const Bool_t decay, const Int_t mcTag );
void FillChargedUnderlyingEventHistograms (const Float_t ptTrig, const Float_t ptAssoc,
const Float_t deltaPhi, const Int_t nTracks);
TH2F * fhPhiLeading; //! phi distribution vs pT of leading particles
TH2F * fhEtaLeading; //! eta distribution vs pT of leading particles
+ TH1F * fhPtLeadingMC[6]; //! pT distribution of leading particles, check the origin of the cluster : decay photon (pi0, eta, other), merged photon (pi0), hadron, rest of photons (prompt, FSR, ISR)
+
TH2F * fhPtLeadingCentrality; //! pT distribution of leading particles vs centrality
TH2F * fhPtLeadingEventPlane; //! pT distribution of leading particles vs centrality
TH2F * fhLeadingEventPlaneCentrality; //! event plane vs centrality for leading particles
TH2F * fhPtHbpZTCharged ; //! Trigger particle -charged hadron momentum HBP histogram
TH2F * fhPtHbpZTUeCharged ; //! Trigger particle -underlying charged hadron momentum HBP histogram
+ TH2F * fhXEChargedMC[6] ; //! Trigger particle -charged hadron momentum imbalance histogram, check the origin of the cluster : decay photon (pi0, eta, other), merged photon (pi0), hadron, rest of photons (prompt, FSR, ISR)
+
//if several UE calculation is on, most useful for jet-jet events contribution
TH2F * fhDeltaPhiUeLeftCharged ; //! Difference of charged particle from underlying events phi and trigger particle phi as function of charged particle pT
TH2F * fhDeltaPhiUeRightCharged ; //! Difference of charged particle from underlying events phi and trigger particle phi
AliAnaParticleHadronCorrelation( const AliAnaParticleHadronCorrelation & ph) ; // cpy ctor
AliAnaParticleHadronCorrelation & operator = (const AliAnaParticleHadronCorrelation & ph) ; // cpy assignment
- ClassDef(AliAnaParticleHadronCorrelation,23)
+ ClassDef(AliAnaParticleHadronCorrelation,24)
} ;
fhPtThresIsolatedPrompt(), fhPtFracIsolatedPrompt(), fhPtSumIsolatedPrompt(),
fhPtIsoFragmentation(0), fhPhiIsoFragmentation(0), fhEtaIsoFragmentation(0),
fhPtThresIsolatedFragmentation(), fhPtFracIsolatedFragmentation(), fhPtSumIsolatedFragmentation(),
+fhPtIsoPi0(0), fhPhiIsoPi0(0), fhEtaIsoPi0(0),
+fhPtThresIsolatedPi0(), fhPtFracIsolatedPi0(), fhPtSumIsolatedPi0(),
fhPtIsoPi0Decay(0), fhPhiIsoPi0Decay(0), fhEtaIsoPi0Decay(0),
fhPtThresIsolatedPi0Decay(), fhPtFracIsolatedPi0Decay(), fhPtSumIsolatedPi0Decay(),
fhPtIsoEtaDecay(0), fhPhiIsoEtaDecay(0), fhEtaIsoEtaDecay(0),
fhPtThresIsolatedEtaDecay(), fhPtFracIsolatedEtaDecay(), fhPtSumIsolatedEtaDecay(),
fhPtIsoOtherDecay(0), fhPhiIsoOtherDecay(0), fhEtaIsoOtherDecay(0),
fhPtThresIsolatedOtherDecay(), fhPtFracIsolatedOtherDecay(), fhPtSumIsolatedOtherDecay(),
-fhPtIsoConversion(0), fhPhiIsoConversion(0), fhEtaIsoConversion(0),
-fhPtThresIsolatedConversion(), fhPtFracIsolatedConversion(), fhPtSumIsolatedConversion(),
-fhPtIsoUnknown(0), fhPhiIsoUnknown(0), fhEtaIsoUnknown(0),
-fhPtThresIsolatedUnknown(), fhPtFracIsolatedUnknown(), fhPtSumIsolatedUnknown(),
-fhPtNoIsoPi0Decay(0), fhPtNoIsoEtaDecay(0), fhPtNoIsoOtherDecay(0),
+//fhPtIsoConversion(0), fhPhiIsoConversion(0), fhEtaIsoConversion(0),
+//fhPtThresIsolatedConversion(), fhPtFracIsolatedConversion(), fhPtSumIsolatedConversion(),
+fhPtIsoHadron(0), fhPhiIsoHadron(0), fhEtaIsoHadron(0),
+fhPtThresIsolatedHadron(), fhPtFracIsolatedHadron(), fhPtSumIsolatedHadron(),
+fhPtNoIsoPi0(0), fhPtNoIsoPi0Decay(0),
+fhPtNoIsoEtaDecay(0), fhPtNoIsoOtherDecay(0),
fhPtNoIsoPrompt(0), fhPtIsoMCPhoton(0), fhPtNoIsoMCPhoton(0),
-fhPtNoIsoConversion(0), fhPtNoIsoFragmentation(0), fhPtNoIsoUnknown(0),
+//fhPtNoIsoConversion(0),
+fhPtNoIsoFragmentation(0), fhPtNoIsoHadron(0),
// Hist several IC
-fhSumPtLeadingPt(),fhPtLeadingPt(),fhFRSumPtLeadingPt(),fhFRPtLeadingPt(),
+fhSumPtLeadingPt(), fhPtLeadingPt(),
+fhFRSumPtLeadingPt(), fhFRPtLeadingPt(),
fhPtThresIsolated(), fhPtFracIsolated(), fhPtSumIsolated(),
fhEtaPhiPtThresIso(), fhEtaPhiPtThresDecayIso(), fhPtPtThresDecayIso(),
fhEtaPhiPtFracIso(), fhEtaPhiPtFracDecayIso(), fhPtPtFracDecayIso(),
fhdEdx(), fhEOverP(), fhTrackMatchedMCParticle(),
fhELambda0() , fhELambda1(), fhELambda0SSBkg(),
fhELambda0TRD(), fhELambda1TRD(),
-
+fhELambda0MCPhoton(), fhELambda0MCPi0(), fhELambda0MCPi0Decay(),
+fhELambda0MCEtaDecay(), fhELambda0MCOtherDecay(), fhELambda0MCHadron(),
// Number of local maxima in cluster
fhNLocMax(),
fhELambda0LocMax1(), fhELambda1LocMax1(),
fhPtSumIsolatedPrompt [i] = 0 ;
fhPtSumIsolatedFragmentation[i] = 0 ;
fhPtSumIsolatedPi0Decay [i] = 0 ;
+ fhPtSumIsolatedPi0 [i] = 0 ;
fhPtSumIsolatedEtaDecay [i] = 0 ;
fhPtSumIsolatedOtherDecay [i] = 0 ;
- fhPtSumIsolatedConversion [i] = 0 ;
- fhPtSumIsolatedUnknown [i] = 0 ;
+// fhPtSumIsolatedConversion [i] = 0 ;
+ fhPtSumIsolatedHadron [i] = 0 ;
for(Int_t j = 0; j < 5 ; j++)
{
fhPtThresIsolatedPrompt [i][j] = 0 ;
fhPtThresIsolatedFragmentation[i][j] = 0 ;
fhPtThresIsolatedPi0Decay [i][j] = 0 ;
- fhPtThresIsolatedEtaDecay [i][j] = 0 ;
+ fhPtThresIsolatedPi0 [i][j] = 0 ;
+ fhPtThresIsolatedEtaDecay [i][j] = 0 ;
fhPtThresIsolatedOtherDecay [i][j] = 0 ;
- fhPtThresIsolatedConversion [i][j] = 0 ;
- fhPtThresIsolatedUnknown [i][j] = 0 ;
+// fhPtThresIsolatedConversion [i][j] = 0 ;
+ fhPtThresIsolatedHadron [i][j] = 0 ;
fhPtFracIsolatedPrompt [i][j] = 0 ;
fhPtFracIsolatedFragmentation [i][j] = 0 ;
+ fhPtFracIsolatedPi0 [i][j] = 0 ;
fhPtFracIsolatedPi0Decay [i][j] = 0 ;
fhPtFracIsolatedEtaDecay [i][j] = 0 ;
fhPtFracIsolatedOtherDecay [i][j] = 0 ;
- fhPtFracIsolatedConversion [i][j] = 0 ;
- fhPtFracIsolatedUnknown [i][j] = 0 ;
+// fhPtFracIsolatedConversion [i][j] = 0 ;
+ fhPtFracIsolatedHadron [i][j] = 0 ;
}
}
fhELambda0 [i] = 0 ; fhELambda1 [i] = 0 ;
fhELambda0TRD [i] = 0 ; fhELambda1TRD [i] = 0 ;
+ fhELambda0MCPhoton [i] = 0 ; fhELambda0MCPi0 [i] = 0 ; fhELambda0MCPi0Decay[i] = 0 ;
+ fhELambda0MCEtaDecay[i] = 0 ; fhELambda0MCOtherDecay[i] = 0 ; fhELambda0MCHadron [i] = 0 ;
+
+
// Number of local maxima in cluster
fhNLocMax [i] = 0 ;
fhELambda0LocMax1[i] = 0 ; fhELambda1LocMax1[i] = 0 ;
const Int_t clusterID,
const Int_t nMaxima,
const Int_t mcTag,
- const TObjArray * plCTS,
- const TObjArray * plNe,
- AliAODPWG4ParticleCorrelation *pCandidate,
- const AliCaloTrackReader * reader,
+ const TObjArray * plCTS,
+ const TObjArray * plNe,
+ AliAODPWG4ParticleCorrelation *pCandidate,
+ const AliCaloTrackReader * reader,
const AliCaloPID * pid)
{
// Fill Track matching and Shower Shape control histograms
fhELambda0[isolated]->Fill(energy, 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());
+ 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());
+ else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCOtherDecay)) fhELambda0MCOtherDecay[isolated]->Fill(energy, cluster->GetM02());
+
+ // else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCConversion)) fhPtNoIsoConversion ->Fill(energy);
+ else if(!GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCElectron)) fhELambda0MCHadron [isolated]->Fill(energy);
+
+ }
+
if(fCalorimeter == "EMCAL" && GetModuleNumber(cluster) > 5) // TO DO: CHANGE FOR 2012
{
fhELambda0TRD[isolated]->Fill(energy, cluster->GetM02() );
{
TString hName [] = {"NoIso",""};
TString hTitle[] = {"Not isolated" ,"isolated"};
- if(fFillSSHisto)
- {
+ if(fFillSSHisto)
+ {
fhELambda0SSBkg = new TH2F
- ("hELambda0SSBkg","Non isolated clusters : E vs #lambda_{0}",nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
- fhELambda0SSBkg->SetYTitle("#lambda_{0}^{2}");
- fhELambda0SSBkg->SetXTitle("E (GeV)");
- outputContainer->Add(fhELambda0SSBkg) ;
- }
+ ("hELambda0SSBkg","Non isolated clusters : E vs #lambda_{0}",nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
+ fhELambda0SSBkg->SetYTitle("#lambda_{0}^{2}");
+ fhELambda0SSBkg->SetXTitle("E (GeV)");
+ outputContainer->Add(fhELambda0SSBkg) ;
+ }
+
for(Int_t iso = 0; iso < 2; iso++)
{
if(fFillTMHisto)
fhELambda0[iso]->SetXTitle("E (GeV)");
outputContainer->Add(fhELambda0[iso]) ;
+ if(IsDataMC())
+ {
+ 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);
+ fhELambda0MCPhoton[iso]->SetYTitle("#lambda_{0}^{2}");
+ fhELambda0MCPhoton[iso]->SetXTitle("E (GeV)");
+ outputContainer->Add(fhELambda0MCPhoton[iso]) ;
+
+ fhELambda0MCPi0[iso] = new TH2F
+ (Form("hELambda0%s_MCPi0",hName[iso].Data()),
+ Form("%s cluster : E vs #lambda_{0}: Origin is pi0 (2 #gamma)",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
+ fhELambda0MCPi0[iso]->SetYTitle("#lambda_{0}^{2}");
+ fhELambda0MCPi0[iso]->SetXTitle("E (GeV)");
+ outputContainer->Add(fhELambda0MCPi0[iso]) ;
+
+ fhELambda0MCPi0Decay[iso] = new TH2F
+ (Form("hELambda0%s_MCPi0Decay",hName[iso].Data()),
+ Form("%s cluster : E vs #lambda_{0}: Origin is pi0 decay",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
+ fhELambda0MCPi0Decay[iso]->SetYTitle("#lambda_{0}^{2}");
+ fhELambda0MCPi0Decay[iso]->SetXTitle("E (GeV)");
+ outputContainer->Add(fhELambda0MCPi0Decay[iso]) ;
+
+ fhELambda0MCEtaDecay[iso] = new TH2F
+ (Form("hELambda0%s_MCEtaDecay",hName[iso].Data()),
+ Form("%s cluster : E vs #lambda_{0}: Origin is eta decay",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
+ fhELambda0MCEtaDecay[iso]->SetYTitle("#lambda_{0}^{2}");
+ fhELambda0MCEtaDecay[iso]->SetXTitle("E (GeV)");
+ outputContainer->Add(fhELambda0MCEtaDecay[iso]) ;
+
+ fhELambda0MCOtherDecay[iso] = new TH2F
+ (Form("hELambda0%s_MCOtherDecay",hName[iso].Data()),
+ Form("%s cluster : E vs #lambda_{0}: Origin is other decay",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
+ fhELambda0MCOtherDecay[iso]->SetYTitle("#lambda_{0}^{2}");
+ fhELambda0MCOtherDecay[iso]->SetXTitle("E (GeV)");
+ outputContainer->Add(fhELambda0MCOtherDecay[iso]) ;
+
+ fhELambda0MCHadron[iso] = new TH2F
+ (Form("hELambda0%s_MCHadron",hName[iso].Data()),
+ Form("%s cluster : E vs #lambda_{0}: Origin is hadron",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
+ fhELambda0MCHadron[iso]->SetYTitle("#lambda_{0}^{2}");
+ fhELambda0MCHadron[iso]->SetXTitle("E (GeV)");
+ outputContainer->Add(fhELambda0MCHadron[iso]) ;
+ }
+
fhELambda1[iso] = new TH2F
(Form("hELambda1%s",hName[iso].Data()),
Form("%s cluster: E vs #lambda_{1}",hTitle[iso].Data()),nptbins,ptmin,ptmax,ssbins,ssmin,ssmax);
}
} // control histograms for isolated and non isolated objects
-
+
fhConeSumPt = new TH2F("hConePtSum",
Form("#Sigma p_{T} in isolation cone for R = %2.2f",r),
nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
fhPtInCone->SetYTitle("p_{T in cone} (GeV/c)");
fhPtInCone->SetXTitle("p_{T} (GeV/c)");
outputContainer->Add(fhPtInCone) ;
-
+
fhPtInConeCent = new TH2F("hPtInConeCent",
- Form("p_{T} in isolation cone for R = %2.2f",r),
- 100,0,100,nptinconebins,ptinconemin,ptinconemax);
+ Form("p_{T} in isolation cone for R = %2.2f",r),
+ 100,0,100,nptinconebins,ptinconemin,ptinconemax);
fhPtInConeCent->SetYTitle("p_{T in cone} (GeV/c)");
fhPtInConeCent->SetXTitle("centrality");
outputContainer->Add(fhPtInConeCent) ;
fhPtInFRCone->SetYTitle("p_{T in cone} (GeV/c)");
fhPtInFRCone->SetXTitle("p_{T} (GeV/c)");
outputContainer->Add(fhPtInFRCone) ;
-
+
fhPhiUEConeSumPt = new TH2F("hPhiUEConeSumPt",
- Form("p_{T} in phi band around isolation cone for R = %2.2f",r),
- nptbins,ptmin,ptmax,4*nptinconebins,ptinconemin,4*ptinconemax);
+ Form("p_{T} in phi band around isolation cone for R = %2.2f",r),
+ nptbins,ptmin,ptmax,4*nptinconebins,ptinconemin,4*ptinconemax);
fhPhiUEConeSumPt->SetYTitle("p_{T in band} (GeV/c)");
fhPhiUEConeSumPt->SetXTitle("p_{T} (GeV/c)");
outputContainer->Add(fhPhiUEConeSumPt) ;
-
+
fhEtaUEConeSumPt = new TH2F("hEtaUEConeSumPt",
- Form("p_{T} in eta band around isolation cone for R = %2.2f",r),
- nptbins,ptmin,ptmax,4*nptinconebins,ptinconemin,4*ptinconemax);
+ Form("p_{T} in eta band around isolation cone for R = %2.2f",r),
+ nptbins,ptmin,ptmax,4*nptinconebins,ptinconemin,4*ptinconemax);
fhEtaUEConeSumPt->SetYTitle("p_{T in band} (GeV/c)");
fhEtaUEConeSumPt->SetXTitle("p_{T} (GeV/c)");
outputContainer->Add(fhEtaUEConeSumPt) ;
-
+
fhEtaBand = new TH2F("fhEtaBand",
- Form("Eta/Phi of particle in Eta band isolation cone for R = %2.2f",r),
- netabins,etamin,etamax,nphibins,phimin,phimax);
+ Form("Eta/Phi of particle in Eta band isolation cone for R = %2.2f",r),
+ netabins,etamin,etamax,nphibins,phimin,phimax);
fhEtaBand->SetXTitle("#eta");
fhEtaBand->SetYTitle("#phi");
outputContainer->Add(fhEtaBand) ;
-
+
fhPhiBand = new TH2F("fhPhiBand",
- Form("Eta/Phi of particle in Phi band isolation cone for R = %2.2f",r),
- netabins,etamin,etamax,nphibins,phimin,phimax);
+ Form("Eta/Phi of particle in Phi band isolation cone for R = %2.2f",r),
+ netabins,etamin,etamax,nphibins,phimin,phimax);
fhPhiBand->SetXTitle("#eta");
fhPhiBand->SetYTitle("#phi");
outputContainer->Add(fhPhiBand) ;
-
+
fhConeSumPtEtaUESub = new TH2F("hConeSumPtEtaUESub",
- Form("#Sigma p_{T} after bkg subtraction from eta band in the isolation cone for R = %2.2f",r),
- nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
+ Form("#Sigma p_{T} after bkg subtraction from eta band in the isolation cone for R = %2.2f",r),
+ nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
fhConeSumPtEtaUESub->SetYTitle("#Sigma p_{T}");
fhConeSumPtEtaUESub->SetXTitle("p_{T} (GeV/c)");
outputContainer->Add(fhConeSumPtEtaUESub) ;
-
+
fhConeSumPtPhiUESub = new TH2F("hConeSumPtPhiUESub",
- Form("#Sigma p_{T} after bkg subtraction from phi band in the isolation cone for R = %2.2f",r),
- nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
+ Form("#Sigma p_{T} after bkg subtraction from phi band in the isolation cone for R = %2.2f",r),
+ nptbins,ptmin,ptmax,2*nptsumbins,-ptsummax,ptsummax);
fhConeSumPtPhiUESub->SetYTitle("#Sigma p_{T}");
fhConeSumPtPhiUESub->SetXTitle("p_{T} (GeV/c)");
outputContainer->Add(fhConeSumPtPhiUESub) ;
-
+
fhEIso = new TH1F("hE",
Form("Number of isolated particles vs E for R = %2.2f, p_{T}^{th} = %2.2f, p_{T}^{fr} = %2.2f",r,ptthre,ptfrac),
nptbins,ptmin,ptmax);
fhEtaIsoFragmentation->SetXTitle("p_{T #gamma} (GeV/c)");
outputContainer->Add(fhEtaIsoFragmentation) ;
+ fhPtIsoPi0 = new TH1F("hPtMCPi0","Number of isolated #gamma from #pi^{0} (2 #gamma)",nptbins,ptmin,ptmax);
+ fhPtIsoPi0->SetYTitle("N");
+ fhPtIsoPi0->SetXTitle("p_{T #gamma}(GeV/c)");
+ outputContainer->Add(fhPtIsoPi0) ;
+
+ fhPhiIsoPi0 = new TH2F
+ ("hPhiMCPi0","Number of isolated #gamma from #pi^{0} (2 #gamma)",nptbins,ptmin,ptmax,nphibins,phimin,phimax);
+ fhPhiIsoPi0->SetYTitle("#phi");
+ fhPhiIsoPi0->SetXTitle("p_{T #gamma} (GeV/c)");
+ outputContainer->Add(fhPhiIsoPi0) ;
+
+ fhEtaIsoPi0 = new TH2F
+ ("hEtaMCPi0","Number of isolated #gamma from #pi^{0} (2 #gamma)",nptbins,ptmin,ptmax,netabins,etamin,etamax);
+ fhEtaIsoPi0->SetYTitle("#eta");
+ fhEtaIsoPi0->SetXTitle("p_{T #gamma} (GeV/c)");
+ outputContainer->Add(fhEtaIsoPi0) ;
+
fhPtIsoPi0Decay = new TH1F("hPtMCPi0Decay","Number of isolated #gamma from #pi^{0} decay",nptbins,ptmin,ptmax);
fhPtIsoPi0Decay->SetYTitle("N");
fhPtIsoPi0Decay->SetXTitle("p_{T #gamma}(GeV/c)");
fhEtaIsoOtherDecay->SetXTitle("p_{T #gamma} (GeV/c)");
outputContainer->Add(fhEtaIsoOtherDecay) ;
- fhPtIsoConversion = new TH1F("hPtMCConversion","Number of isolated converted #gamma",nptbins,ptmin,ptmax);
- fhPtIsoConversion->SetYTitle("N");
- fhPtIsoConversion->SetXTitle("p_{T #gamma}(GeV/c)");
- outputContainer->Add(fhPtIsoConversion) ;
-
- fhPhiIsoConversion = new TH2F
- ("hPhiMCConversion","Number of isolated converted #gamma",nptbins,ptmin,ptmax,nphibins,phimin,phimax);
- fhPhiIsoConversion->SetYTitle("#phi");
- fhPhiIsoConversion->SetXTitle("p_{T #gamma} (GeV/c)");
- outputContainer->Add(fhPhiIsoConversion) ;
+ // fhPtIsoConversion = new TH1F("hPtMCConversion","Number of isolated converted #gamma",nptbins,ptmin,ptmax);
+ // fhPtIsoConversion->SetYTitle("N");
+ // fhPtIsoConversion->SetXTitle("p_{T #gamma}(GeV/c)");
+ // outputContainer->Add(fhPtIsoConversion) ;
+ //
+ // fhPhiIsoConversion = new TH2F
+ // ("hPhiMCConversion","Number of isolated converted #gamma",nptbins,ptmin,ptmax,nphibins,phimin,phimax);
+ // fhPhiIsoConversion->SetYTitle("#phi");
+ // fhPhiIsoConversion->SetXTitle("p_{T #gamma} (GeV/c)");
+ // outputContainer->Add(fhPhiIsoConversion) ;
+ //
+ // fhEtaIsoConversion = new TH2F
+ // ("hEtaMCConversion","Number of isolated converted #gamma",nptbins,ptmin,ptmax,netabins,etamin,etamax);
+ // fhEtaIsoConversion->SetYTitle("#eta");
+ // fhEtaIsoConversion->SetXTitle("p_{T #gamma} (GeV/c)");
+ // outputContainer->Add(fhEtaIsoConversion) ;
- fhEtaIsoConversion = new TH2F
- ("hEtaMCConversion","Number of isolated converted #gamma",nptbins,ptmin,ptmax,netabins,etamin,etamax);
- fhEtaIsoConversion->SetYTitle("#eta");
- fhEtaIsoConversion->SetXTitle("p_{T #gamma} (GeV/c)");
- outputContainer->Add(fhEtaIsoConversion) ;
+ fhPtIsoHadron = new TH1F("hPtMCHadron","Number of isolated non-#gamma particles",nptbins,ptmin,ptmax);
+ fhPtIsoHadron->SetYTitle("N");
+ fhPtIsoHadron->SetXTitle("p_{T}(GeV/c)");
+ outputContainer->Add(fhPtIsoHadron) ;
- fhPtIsoUnknown = new TH1F("hPtMCUnknown","Number of isolated non-#gamma particles",nptbins,ptmin,ptmax);
- fhPtIsoUnknown->SetYTitle("N");
- fhPtIsoUnknown->SetXTitle("p_{T}(GeV/c)");
- outputContainer->Add(fhPtIsoUnknown) ;
+ fhPhiIsoHadron = new TH2F
+ ("hPhiMCHadron","Number of isolated non-#gamma particles",nptbins,ptmin,ptmax,nphibins,phimin,phimax);
+ fhPhiIsoHadron->SetYTitle("#phi");
+ fhPhiIsoHadron->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhPhiIsoHadron) ;
- fhPhiIsoUnknown = new TH2F
- ("hPhiMCUnknown","Number of isolated non-#gamma particles",nptbins,ptmin,ptmax,nphibins,phimin,phimax);
- fhPhiIsoUnknown->SetYTitle("#phi");
- fhPhiIsoUnknown->SetXTitle("p_{T} (GeV/c)");
- outputContainer->Add(fhPhiIsoUnknown) ;
-
- fhEtaIsoUnknown = new TH2F
- ("hEtaMCUnknown","Number of isolated non-#gamma particles",nptbins,ptmin,ptmax,netabins,etamin,etamax);
- fhEtaIsoUnknown->SetYTitle("#eta");
- fhEtaIsoUnknown->SetXTitle("p_{T} (GeV/c)");
- outputContainer->Add(fhEtaIsoUnknown) ;
+ fhEtaIsoHadron = new TH2F
+ ("hEtaMCHadron","Number of isolated non-#gamma particles",nptbins,ptmin,ptmax,netabins,etamin,etamax);
+ fhEtaIsoHadron->SetYTitle("#eta");
+ fhEtaIsoHadron->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhEtaIsoHadron) ;
}//Histos with MC
if(IsDataMC())
{
+ fhPtNoIsoPi0 = new TH1F
+ ("hPtNoIsoPi0","Number of not isolated leading #gamma from #pi^{0} (2 #gamma)",nptbins,ptmin,ptmax);
+ fhPtNoIsoPi0->SetYTitle("N");
+ fhPtNoIsoPi0->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhPtNoIsoPi0) ;
+
fhPtNoIsoPi0Decay = new TH1F
("hPtNoIsoPi0Decay","Number of not isolated leading #gamma from #pi^{0} decay",nptbins,ptmin,ptmax);
fhPtNoIsoPi0Decay->SetYTitle("N");
fhPtNoIsoMCPhoton->SetXTitle("p_{T} (GeV/c)");
outputContainer->Add(fhPtNoIsoMCPhoton) ;
- fhPtNoIsoConversion = new TH1F
- ("hPtNoIsoConversion","Number of not isolated leading conversion #gamma",nptbins,ptmin,ptmax);
- fhPtNoIsoConversion->SetYTitle("N");
- fhPtNoIsoConversion->SetXTitle("p_{T} (GeV/c)");
- outputContainer->Add(fhPtNoIsoConversion) ;
+// fhPtNoIsoConversion = new TH1F
+// ("hPtNoIsoConversion","Number of not isolated leading conversion #gamma",nptbins,ptmin,ptmax);
+// fhPtNoIsoConversion->SetYTitle("N");
+// fhPtNoIsoConversion->SetXTitle("p_{T} (GeV/c)");
+// outputContainer->Add(fhPtNoIsoConversion) ;
fhPtNoIsoFragmentation = new TH1F
("hPtNoIsoFragmentation","Number of not isolated leading fragmentation #gamma",nptbins,ptmin,ptmax);
fhPtNoIsoFragmentation->SetXTitle("p_{T} (GeV/c)");
outputContainer->Add(fhPtNoIsoFragmentation) ;
- fhPtNoIsoUnknown = new TH1F
- ("hPtNoIsoUnknown","Number of not isolated leading hadrons",nptbins,ptmin,ptmax);
- fhPtNoIsoUnknown->SetYTitle("N");
- fhPtNoIsoUnknown->SetXTitle("p_{T} (GeV/c)");
- outputContainer->Add(fhPtNoIsoUnknown) ;
+ fhPtNoIsoHadron = new TH1F
+ ("hPtNoIsoHadron","Number of not isolated leading hadrons",nptbins,ptmin,ptmax);
+ fhPtNoIsoHadron->SetYTitle("N");
+ fhPtNoIsoHadron->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhPtNoIsoHadron) ;
}//Histos with MC
fhPtSumIsolatedFragmentation[icone]->SetXTitle("p_{T} (GeV/c)");
outputContainer->Add(fhPtSumIsolatedFragmentation[icone]) ;
+ snprintf(name, buffersize,"hPtSumPi0_Cone_%d",icone);
+ snprintf(title, buffersize,"Candidate Pi0 cone sum p_{T} for R = %2.2f vs candidate p_{T}",fConeSizes[icone]);
+ fhPtSumIsolatedPi0[icone] = new TH2F(name, title,nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
+ fhPtSumIsolatedPi0[icone]->SetYTitle("#Sigma p_{T} (GeV/c)");
+ fhPtSumIsolatedPi0[icone]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhPtSumIsolatedPi0[icone]) ;
+
snprintf(name, buffersize,"hPtSumPi0Decay_Cone_%d",icone);
snprintf(title, buffersize,"Candidate Pi0Decay cone sum p_{T} for R = %2.2f vs candidate p_{T}",fConeSizes[icone]);
fhPtSumIsolatedPi0Decay[icone] = new TH2F(name, title,nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
fhPtSumIsolatedOtherDecay[icone]->SetXTitle("p_{T} (GeV/c)");
outputContainer->Add(fhPtSumIsolatedOtherDecay[icone]) ;
- snprintf(name, buffersize,"hPtSumConversion_Cone_%d",icone);
- snprintf(title, buffersize,"Candidate Conversion cone sum p_{T} for R = %2.2f vs candidate p_{T}",fConeSizes[icone]);
- fhPtSumIsolatedConversion[icone] = new TH2F(name, title,nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
- fhPtSumIsolatedConversion[icone]->SetYTitle("#Sigma p_{T} (GeV/c)");
- fhPtSumIsolatedConversion[icone]->SetXTitle("p_{T} (GeV/c)");
- outputContainer->Add(fhPtSumIsolatedConversion[icone]) ;
+// snprintf(name, buffersize,"hPtSumConversion_Cone_%d",icone);
+// snprintf(title, buffersize,"Candidate Conversion cone sum p_{T} for R = %2.2f vs candidate p_{T}",fConeSizes[icone]);
+// fhPtSumIsolatedConversion[icone] = new TH2F(name, title,nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
+// fhPtSumIsolatedConversion[icone]->SetYTitle("#Sigma p_{T} (GeV/c)");
+// fhPtSumIsolatedConversion[icone]->SetXTitle("p_{T} (GeV/c)");
+// outputContainer->Add(fhPtSumIsolatedConversion[icone]) ;
- snprintf(name, buffersize,"hPtSumUnknown_Cone_%d",icone);
- snprintf(title, buffersize,"Candidate Unknown cone sum p_{T} for R = %2.2f vs candidate p_{T}",fConeSizes[icone]);
- fhPtSumIsolatedUnknown[icone] = new TH2F(name, title,nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
- fhPtSumIsolatedUnknown[icone]->SetYTitle("#Sigma p_{T} (GeV/c)");
- fhPtSumIsolatedUnknown[icone]->SetXTitle("p_{T} (GeV/c)");
- outputContainer->Add(fhPtSumIsolatedUnknown[icone]) ;
+ snprintf(name, buffersize,"hPtSumHadron_Cone_%d",icone);
+ snprintf(title, buffersize,"Candidate Hadron cone sum p_{T} for R = %2.2f vs candidate p_{T}",fConeSizes[icone]);
+ fhPtSumIsolatedHadron[icone] = new TH2F(name, title,nptbins,ptmin,ptmax,nptsumbins,ptsummin,ptsummax);
+ fhPtSumIsolatedHadron[icone]->SetYTitle("#Sigma p_{T} (GeV/c)");
+ fhPtSumIsolatedHadron[icone]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhPtSumIsolatedHadron[icone]) ;
}//Histos with MC
fhPtFracIsolatedFragmentation[icone][ipt]->SetXTitle("p_{T} (GeV/c)");
outputContainer->Add(fhPtFracIsolatedFragmentation[icone][ipt]) ;
+ snprintf(name, buffersize,"hPtThresMCPi0_Cone_%d_Pt%d",icone,ipt);
+ snprintf(title, buffersize,"Isolated candidate Pi0 p_{T} distribution for cone size %d and p_{T}^{th} %d",icone,ipt);
+ fhPtThresIsolatedPi0[icone][ipt] = new TH1F(name, title,nptbins,ptmin,ptmax);
+ fhPtThresIsolatedPi0[icone][ipt]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhPtThresIsolatedPi0[icone][ipt]) ;
+
+ snprintf(name, buffersize,"hPtFracMCPi0_Cone_%d_Pt%d",icone,ipt);
+ snprintf(title, buffersize,"Isolated candidate Pi0 p_{T} distribution for cone size %d and p_{T}^{th} %d",icone,ipt);
+ fhPtFracIsolatedPi0[icone][ipt] = new TH1F(name, title,nptbins,ptmin,ptmax);
+ fhPtFracIsolatedPi0[icone][ipt]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhPtFracIsolatedPi0[icone][ipt]) ;
+
snprintf(name, buffersize,"hPtThresMCPi0Decay_Cone_%d_Pt%d",icone,ipt);
snprintf(title, buffersize,"Isolated candidate Pi0Decay p_{T} distribution for cone size %d and p_{T}^{th} %d",icone,ipt);
fhPtThresIsolatedPi0Decay[icone][ipt] = new TH1F(name, title,nptbins,ptmin,ptmax);
fhPtFracIsolatedOtherDecay[icone][ipt]->SetXTitle("p_{T} (GeV/c)");
outputContainer->Add(fhPtFracIsolatedOtherDecay[icone][ipt]) ;
- snprintf(name, buffersize,"hPtThresMCConversion_Cone_%d_Pt%d",icone,ipt);
- snprintf(title, buffersize,"Isolated candidate Conversion p_{T} distribution for cone size %d and p_{T}^{th} %d",icone,ipt);
- fhPtThresIsolatedConversion[icone][ipt] = new TH1F(name, title,nptbins,ptmin,ptmax);
- fhPtThresIsolatedConversion[icone][ipt]->SetXTitle("p_{T} (GeV/c)");
- outputContainer->Add(fhPtThresIsolatedConversion[icone][ipt]) ;
+// snprintf(name, buffersize,"hPtThresMCConversion_Cone_%d_Pt%d",icone,ipt);
+// snprintf(title, buffersize,"Isolated candidate Conversion p_{T} distribution for cone size %d and p_{T}^{th} %d",icone,ipt);
+// fhPtThresIsolatedConversion[icone][ipt] = new TH1F(name, title,nptbins,ptmin,ptmax);
+// fhPtThresIsolatedConversion[icone][ipt]->SetXTitle("p_{T} (GeV/c)");
+// outputContainer->Add(fhPtThresIsolatedConversion[icone][ipt]) ;
- snprintf(name, buffersize,"hPtFracMCConversion_Cone_%d_Pt%d",icone,ipt);
- snprintf(title, buffersize,"Isolated candidate Conversion p_{T} distribution for cone size %d and p_{T}^{th} %d",icone,ipt);
- fhPtFracIsolatedConversion[icone][ipt] = new TH1F(name, title,nptbins,ptmin,ptmax);
- fhPtFracIsolatedConversion[icone][ipt]->SetXTitle("p_{T} (GeV/c)");
- outputContainer->Add(fhPtFracIsolatedConversion[icone][ipt]) ;
+// snprintf(name, buffersize,"hPtFracMCConversion_Cone_%d_Pt%d",icone,ipt);
+// snprintf(title, buffersize,"Isolated candidate Conversion p_{T} distribution for cone size %d and p_{T}^{th} %d",icone,ipt);
+// fhPtFracIsolatedConversion[icone][ipt] = new TH1F(name, title,nptbins,ptmin,ptmax);
+// fhPtFracIsolatedConversion[icone][ipt]->SetXTitle("p_{T} (GeV/c)");
+// outputContainer->Add(fhPtFracIsolatedConversion[icone][ipt]) ;
- snprintf(name, buffersize,"hPtThresMCUnknown_Cone_%d_Pt%d",icone,ipt);
- snprintf(title, buffersize,"Isolated candidate Unknown p_{T} distribution for cone size %d and p_{T}^{th} %d",icone,ipt);
- fhPtThresIsolatedUnknown[icone][ipt] = new TH1F(name, title,nptbins,ptmin,ptmax);
- fhPtThresIsolatedUnknown[icone][ipt]->SetXTitle("p_{T} (GeV/c)");
- outputContainer->Add(fhPtThresIsolatedUnknown[icone][ipt]) ;
+ snprintf(name, buffersize,"hPtThresMCHadron_Cone_%d_Pt%d",icone,ipt);
+ snprintf(title, buffersize,"Isolated candidate Hadron p_{T} distribution for cone size %d and p_{T}^{th} %d",icone,ipt);
+ fhPtThresIsolatedHadron[icone][ipt] = new TH1F(name, title,nptbins,ptmin,ptmax);
+ fhPtThresIsolatedHadron[icone][ipt]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhPtThresIsolatedHadron[icone][ipt]) ;
- snprintf(name, buffersize,"hPtFracMCUnknown_Cone_%d_Pt%d",icone,ipt);
- snprintf(title, buffersize,"Isolated candidate Unknown p_{T} distribution for cone size %d and p_{T}^{th} %d",icone,ipt);
- fhPtFracIsolatedUnknown[icone][ipt] = new TH1F(name, title,nptbins,ptmin,ptmax);
- fhPtFracIsolatedUnknown[icone][ipt]->SetXTitle("p_{T} (GeV/c)");
- outputContainer->Add(fhPtFracIsolatedUnknown[icone][ipt]) ;
+ snprintf(name, buffersize,"hPtFracMCHadron_Cone_%d_Pt%d",icone,ipt);
+ snprintf(title, buffersize,"Isolated candidate Hadron p_{T} distribution for cone size %d and p_{T}^{th} %d",icone,ipt);
+ fhPtFracIsolatedHadron[icone][ipt] = new TH1F(name, title,nptbins,ptmin,ptmax);
+ fhPtFracIsolatedHadron[icone][ipt]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhPtFracIsolatedHadron[icone][ipt]) ;
}//Histos with MC
}//icone loop
fhPhiIsoFragmentation ->Fill(pt,phi);
fhEtaIsoFragmentation ->Fill(pt,eta);
}
+ else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0))
+ {
+ fhPtIsoPi0 ->Fill(pt);
+ fhPhiIsoPi0 ->Fill(pt,phi);
+ fhEtaIsoPi0 ->Fill(pt,eta);
+ }
else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0Decay))
{
fhPtIsoPi0Decay ->Fill(pt);
fhPhiIsoOtherDecay ->Fill(pt,phi);
fhEtaIsoOtherDecay ->Fill(pt,eta);
}
- else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCConversion))
- {
- fhPtIsoConversion ->Fill(pt);
- fhPhiIsoConversion ->Fill(pt,phi);
- fhEtaIsoConversion ->Fill(pt,eta);
- }
- else // anything else
+// else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCConversion))
+// {
+// fhPtIsoConversion ->Fill(pt);
+// fhPhiIsoConversion ->Fill(pt,phi);
+// fhEtaIsoConversion ->Fill(pt,eta);
+// }
+ else if(!GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCElectron))// anything else but electrons
{
- fhPtIsoUnknown ->Fill(pt);
- fhPhiIsoUnknown ->Fill(pt,phi);
- fhEtaIsoUnknown ->Fill(pt,eta);
+ fhPtIsoHadron ->Fill(pt);
+ fhPhiIsoHadron ->Fill(pt,phi);
+ fhEtaIsoHadron ->Fill(pt,eta);
}
}//Histograms with MC
if(IsDataMC())
{
if (GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPhoton)) fhPtNoIsoMCPhoton ->Fill(pt);
- if (GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0Decay)) fhPtNoIsoPi0Decay ->Fill(pt);
+ if (GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0)) fhPtNoIsoPi0 ->Fill(pt);
+ else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPi0Decay)) fhPtNoIsoPi0Decay ->Fill(pt);
else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCEtaDecay)) fhPtNoIsoEtaDecay ->Fill(pt);
else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCOtherDecay)) fhPtNoIsoOtherDecay ->Fill(pt);
else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCPrompt)) fhPtNoIsoPrompt ->Fill(pt);
else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCFragmentation)) fhPtNoIsoFragmentation->Fill(pt);
- else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCConversion)) fhPtNoIsoConversion ->Fill(pt);
- else fhPtNoIsoUnknown ->Fill(pt);
+// else if(GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCConversion)) fhPtNoIsoConversion ->Fill(pt);
+ else if(!GetMCAnalysisUtils()->CheckTagBit(mcTag,AliMCAnalysisUtils::kMCElectron)) fhPtNoIsoHadron ->Fill(pt);
}
}
}// aod loop
if(IsDataMC())
{
if (GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton)) fhPtNoIsoMCPhoton ->Fill(ptC);
- if (GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay)) fhPtNoIsoPi0Decay ->Fill(ptC);
+ if (GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0)) fhPtNoIsoPi0 ->Fill(ptC);
+ else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay)) fhPtNoIsoPi0Decay ->Fill(ptC);
else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay)) fhPtNoIsoEtaDecay ->Fill(ptC);
else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay)) fhPtNoIsoOtherDecay ->Fill(ptC);
else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPrompt)) fhPtNoIsoPrompt ->Fill(ptC);
else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCFragmentation)) fhPtNoIsoFragmentation->Fill(ptC);
- else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) fhPtNoIsoConversion ->Fill(ptC);
- else fhPtNoIsoUnknown ->Fill(ptC);
+// else if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) fhPtNoIsoConversion ->Fill(ptC);
+ else if(!GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCElectron)) fhPtNoIsoHadron ->Fill(ptC);
}
if(decay)
if(IsDataMC())
{
if ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPrompt)) fhPtThresIsolatedPrompt[icone][ipt] ->Fill(ptC) ;
- else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) fhPtThresIsolatedConversion[icone][ipt] ->Fill(ptC) ;
+// else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) fhPtThresIsolatedConversion[icone][ipt] ->Fill(ptC) ;
else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCFragmentation)) fhPtThresIsolatedFragmentation[icone][ipt]->Fill(ptC) ;
+ else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0)) fhPtThresIsolatedPi0[icone][ipt] ->Fill(ptC) ;
else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay)) fhPtThresIsolatedPi0Decay[icone][ipt] ->Fill(ptC) ;
else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay)) fhPtThresIsolatedEtaDecay[icone][ipt] ->Fill(ptC) ;
else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay)) fhPtThresIsolatedOtherDecay[icone][ipt] ->Fill(ptC) ;
- else fhPtThresIsolatedUnknown[icone][ipt] ->Fill(ptC) ;
+ else if(!GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCElectron)) fhPtThresIsolatedHadron[icone][ipt] ->Fill(ptC) ;
}
}
if(IsDataMC())
{
if ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPrompt)) fhPtFracIsolatedPrompt[icone][ipt] ->Fill(ptC) ;
- else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) fhPtFracIsolatedConversion[icone][ipt] ->Fill(ptC) ;
+// else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) fhPtFracIsolatedConversion[icone][ipt] ->Fill(ptC) ;
else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCFragmentation)) fhPtFracIsolatedFragmentation[icone][ipt]->Fill(ptC) ;
+ else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0)) fhPtFracIsolatedPi0[icone][ipt] ->Fill(ptC) ;
else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay)) fhPtFracIsolatedPi0Decay[icone][ipt] ->Fill(ptC) ;
else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay)) fhPtFracIsolatedEtaDecay[icone][ipt] ->Fill(ptC) ;
else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay)) fhPtFracIsolatedOtherDecay[icone][ipt] ->Fill(ptC) ;
- else fhPtFracIsolatedUnknown[icone][ipt]->Fill(ptC) ;
+ else if(!GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCElectron)) fhPtFracIsolatedHadron[icone][ipt]->Fill(ptC) ;
}
}
if(IsDataMC())
{
if ( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPrompt)) fhPtSumIsolatedPrompt[icone] ->Fill(ptC,coneptsum) ;
- else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) fhPtSumIsolatedConversion[icone] ->Fill(ptC,coneptsum) ;
+// else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion)) fhPtSumIsolatedConversion[icone] ->Fill(ptC,coneptsum) ;
else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCFragmentation)) fhPtSumIsolatedFragmentation[icone]->Fill(ptC,coneptsum) ;
+ else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0)) fhPtSumIsolatedPi0[icone] ->Fill(ptC,coneptsum) ;
else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPi0Decay)) fhPtSumIsolatedPi0Decay[icone] ->Fill(ptC,coneptsum) ;
else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay)) fhPtSumIsolatedEtaDecay[icone] ->Fill(ptC,coneptsum) ;
else if( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay)) fhPtSumIsolatedOtherDecay[icone] ->Fill(ptC,coneptsum) ;
- else fhPtSumIsolatedUnknown[icone]->Fill(ptC,coneptsum) ;
+ else if(!GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCElectron)) fhPtSumIsolatedHadron[icone]->Fill(ptC,coneptsum) ;
}
}//cone size loop
TH1F * fhPtThresIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt threshold
TH1F * fhPtFracIsolatedFragmentation[5][5]; //! Isolated fragmentation gamma with pt frac
TH2F * fhPtSumIsolatedFragmentation[5]; //! Isolated fragmentation gamma with threshold on cone pt sume
+ TH1F * fhPtIsoPi0; //! Number of isolated pi0 (2 gamma)
+ TH2F * fhPhiIsoPi0; //! Phi of isolated pi0 (2 gamma)
+ TH2F * fhEtaIsoPi0; //! eta of isolated pi0 (2 gamma)
+ TH1F * fhPtThresIsolatedPi0[5][5]; //! Isolated pi0 (2 gamma) with pt threshold
+ TH1F * fhPtFracIsolatedPi0[5][5]; //! Isolated pi0 (2 gamma) with pt frac
+ TH2F * fhPtSumIsolatedPi0[5]; //! Isolated pi0 (2 gamma) with threshold on cone pt sum
TH1F * fhPtIsoPi0Decay; //! Number of isolated pi0 decay gamma
TH2F * fhPhiIsoPi0Decay; //! Phi of isolated pi0 decay gamma
TH2F * fhEtaIsoPi0Decay; //! eta of isolated pi0 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
- 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 * fhPtIsoUnknown; //! Number of isolated Unknown
- TH2F * fhPhiIsoUnknown; //! Phi of isolated Unknown
- TH2F * fhEtaIsoUnknown; //! eta of isolated Unknown
- TH1F * fhPtThresIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt threshold
- TH1F * fhPtFracIsolatedUnknown[5][5]; //! Isolated Unknown gamma with pt frac
- TH2F * fhPtSumIsolatedUnknown[5]; //! Isolated Unknown 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
// Multi Cut analysis Several IC
+ TH1F * fhPtNoIsoPi0; //! Number of not isolated leading pi0 (2 gamma)
TH1F * fhPtNoIsoPi0Decay; //! Number of not isolated leading pi0 decay gamma
TH1F * fhPtNoIsoEtaDecay; //! Number of not isolated leading eta decay gamma
TH1F * fhPtNoIsoOtherDecay; //! Number of not isolated leading other decay gamma
TH1F * fhPtNoIsoPrompt; //! Number of not isolated leading prompt gamma
TH1F * fhPtIsoMCPhoton; //! Number of isolated leading gamma
TH1F * fhPtNoIsoMCPhoton; //! Number of not isolated leading gamma
- TH1F * fhPtNoIsoConversion; //! Number of not isolated leading conversion gamma
+// TH1F * fhPtNoIsoConversion; //! Number of not isolated leading conversion gamma
TH1F * fhPtNoIsoFragmentation; //! Number of not isolated leading fragmentation gamma
- TH1F * fhPtNoIsoUnknown; //! 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 * 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 * 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 * 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)
+ TH2F * fhELambda0MCOtherDecay[2]; //! Shower shape of (non) isolated photon candidates originated by particle other decay photon (do not apply SS cut previously)
+ TH2F * fhELambda0MCHadron[2]; //! Shower shape of (non) isolated photon candidates originated by particle other hadrons (do not apply SS cut previously)
+
// Local maxima
TH2F * fhNLocMax[2]; //! number of maxima in selected clusters
TH2F * fhELambda0LocMax1[2] ; //! E vs lambda0 of selected cluster, 1 local maxima in cluster
AliAnaParticleIsolation( const AliAnaParticleIsolation & iso) ; // cpy ctor
AliAnaParticleIsolation & operator = (const AliAnaParticleIsolation & iso) ; // cpy assignment
- ClassDef(AliAnaParticleIsolation,15)
+ ClassDef(AliAnaParticleIsolation,16)
} ;
fMinDist(0.), fMinDist2(0.), fMinDist3(0.),
fRejectTrackMatch(0), fFillTMHisto(kFALSE),
fTimeCutMin(-10000), fTimeCutMax(10000),
- fNCellsCut(0), fFillSSHistograms(kFALSE),
+ fNCellsCut(0), fFillSSHistograms(kFALSE), fFillOnlySimpleSSHisto(1),
fNOriginHistograms(8), fNPrimaryHistograms(4),
// Histograms
Float_t l0 = 0., l1 = 0.;
Float_t dispp= 0., dEta = 0., dPhi = 0.;
Float_t sEta = 0., sPhi = 0., sEtaPhi = 0.;
- if(fCalorimeter == "EMCAL")
+ if(fCalorimeter == "EMCAL" && !fFillOnlySimpleSSHisto)
{
GetCaloUtils()->GetEMCALRecoUtils()->RecalculateClusterShowerShapeParameters(GetEMCALGeometry(), GetReader()->GetInputEvent()->GetEMCALCells(), cluster,
l0, l1, dispp, dEta, dPhi, sEta, sPhi, sEtaPhi);
}
}// if track-matching was of, check effect of matching residual cut
- if(energy < 2)
- {
- fhNCellsLam0LowE ->Fill(ncells,lambda0);
- fhNCellsLam1LowE ->Fill(ncells,lambda1);
- fhNCellsDispLowE ->Fill(ncells,disp);
-
- fhLam1Lam0LowE ->Fill(lambda1,lambda0);
- fhLam0DispLowE ->Fill(lambda0,disp);
- fhDispLam1LowE ->Fill(disp,lambda1);
- fhEtaLam0LowE ->Fill(eta,lambda0);
- fhPhiLam0LowE ->Fill(phi,lambda0);
- }
- else
- {
- fhNCellsLam0HighE ->Fill(ncells,lambda0);
- fhNCellsLam1HighE ->Fill(ncells,lambda1);
- fhNCellsDispHighE ->Fill(ncells,disp);
-
- fhLam1Lam0HighE ->Fill(lambda1,lambda0);
- fhLam0DispHighE ->Fill(lambda0,disp);
- fhDispLam1HighE ->Fill(disp,lambda1);
- fhEtaLam0HighE ->Fill(eta, lambda0);
- fhPhiLam0HighE ->Fill(phi, lambda0);
+
+ if(!fFillOnlySimpleSSHisto){
+ if(energy < 2)
+ {
+ fhNCellsLam0LowE ->Fill(ncells,lambda0);
+ fhNCellsLam1LowE ->Fill(ncells,lambda1);
+ fhNCellsDispLowE ->Fill(ncells,disp);
+
+ fhLam1Lam0LowE ->Fill(lambda1,lambda0);
+ fhLam0DispLowE ->Fill(lambda0,disp);
+ fhDispLam1LowE ->Fill(disp,lambda1);
+ fhEtaLam0LowE ->Fill(eta,lambda0);
+ fhPhiLam0LowE ->Fill(phi,lambda0);
+ }
+ else
+ {
+ fhNCellsLam0HighE ->Fill(ncells,lambda0);
+ fhNCellsLam1HighE ->Fill(ncells,lambda1);
+ fhNCellsDispHighE ->Fill(ncells,disp);
+
+ fhLam1Lam0HighE ->Fill(lambda1,lambda0);
+ fhLam0DispHighE ->Fill(lambda0,disp);
+ fhDispLam1HighE ->Fill(disp,lambda1);
+ fhEtaLam0HighE ->Fill(eta, lambda0);
+ fhPhiLam0HighE ->Fill(phi, lambda0);
+ }
}
if(IsDataMC())
fhMCNCellsE [mcIndex]->Fill(energy, ncells);
fhMCMaxCellDiffClusterE[mcIndex]->Fill(energy, maxCellFraction);
- if (energy < 2.)
- {
- fhMCLambda0vsClusterMaxCellDiffE0[mcIndex]->Fill(lambda0, maxCellFraction);
- fhMCNCellsvsClusterMaxCellDiffE0 [mcIndex]->Fill(ncells, maxCellFraction);
- }
- else if(energy < 6.)
- {
- fhMCLambda0vsClusterMaxCellDiffE2[mcIndex]->Fill(lambda0, maxCellFraction);
- fhMCNCellsvsClusterMaxCellDiffE2 [mcIndex]->Fill(ncells, maxCellFraction);
- }
- else
- {
- fhMCLambda0vsClusterMaxCellDiffE6[mcIndex]->Fill(lambda0, maxCellFraction);
- fhMCNCellsvsClusterMaxCellDiffE6 [mcIndex]->Fill(ncells, maxCellFraction);
- }
-
- if(fCalorimeter == "EMCAL")
+ if(!fFillOnlySimpleSSHisto)
{
- fhMCEDispEta [mcIndex]-> Fill(energy,dEta);
- fhMCEDispPhi [mcIndex]-> Fill(energy,dPhi);
- fhMCESumEtaPhi [mcIndex]-> Fill(energy,sEtaPhi);
- fhMCEDispEtaPhiDiff [mcIndex]-> Fill(energy,dPhi-dEta);
- if(dEta+dPhi>0)fhMCESphericity[mcIndex]-> Fill(energy,(dPhi-dEta)/(dEta+dPhi));
-
- Int_t ebin = -1;
- if (energy < 2 ) ebin = 0;
- else if (energy < 4 ) ebin = 1;
- else if (energy < 6 ) ebin = 2;
- else if (energy < 10) ebin = 3;
- else if (energy < 15) ebin = 4;
- else if (energy < 20) ebin = 5;
- else ebin = 6;
-
- fhMCDispEtaDispPhi[ebin][mcIndex]->Fill(dEta ,dPhi);
- fhMCLambda0DispEta[ebin][mcIndex]->Fill(lambda0,dEta);
- fhMCLambda0DispPhi[ebin][mcIndex]->Fill(lambda0,dPhi);
+ if (energy < 2.)
+ {
+ fhMCLambda0vsClusterMaxCellDiffE0[mcIndex]->Fill(lambda0, maxCellFraction);
+ fhMCNCellsvsClusterMaxCellDiffE0 [mcIndex]->Fill(ncells, maxCellFraction);
+ }
+ else if(energy < 6.)
+ {
+ fhMCLambda0vsClusterMaxCellDiffE2[mcIndex]->Fill(lambda0, maxCellFraction);
+ fhMCNCellsvsClusterMaxCellDiffE2 [mcIndex]->Fill(ncells, maxCellFraction);
+ }
+ else
+ {
+ fhMCLambda0vsClusterMaxCellDiffE6[mcIndex]->Fill(lambda0, maxCellFraction);
+ fhMCNCellsvsClusterMaxCellDiffE6 [mcIndex]->Fill(ncells, maxCellFraction);
+ }
+
+ if(fCalorimeter == "EMCAL")
+ {
+ fhMCEDispEta [mcIndex]-> Fill(energy,dEta);
+ fhMCEDispPhi [mcIndex]-> Fill(energy,dPhi);
+ fhMCESumEtaPhi [mcIndex]-> Fill(energy,sEtaPhi);
+ fhMCEDispEtaPhiDiff [mcIndex]-> Fill(energy,dPhi-dEta);
+ if(dEta+dPhi>0)fhMCESphericity[mcIndex]-> Fill(energy,(dPhi-dEta)/(dEta+dPhi));
+
+ Int_t ebin = -1;
+ if (energy < 2 ) ebin = 0;
+ else if (energy < 4 ) ebin = 1;
+ else if (energy < 6 ) ebin = 2;
+ else if (energy < 10) ebin = 3;
+ else if (energy < 15) ebin = 4;
+ else if (energy < 20) ebin = 5;
+ else ebin = 6;
+
+ fhMCDispEtaDispPhi[ebin][mcIndex]->Fill(dEta ,dPhi);
+ fhMCLambda0DispEta[ebin][mcIndex]->Fill(lambda0,dEta);
+ fhMCLambda0DispPhi[ebin][mcIndex]->Fill(lambda0,dPhi);
+ }
}
-
}//MC data
}
}
}
- fhNCellsLam0LowE = new TH2F ("hNCellsLam0LowE","N_{cells} in cluster vs #lambda_{0}^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
- fhNCellsLam0LowE->SetXTitle("N_{cells}");
- fhNCellsLam0LowE->SetYTitle("#lambda_{0}^{2}");
- outputContainer->Add(fhNCellsLam0LowE);
-
- fhNCellsLam0HighE = new TH2F ("hNCellsLam0HighE","N_{cells} in cluster vs #lambda_{0}^{2}, E > 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
- fhNCellsLam0HighE->SetXTitle("N_{cells}");
- fhNCellsLam0HighE->SetYTitle("#lambda_{0}^{2}");
- outputContainer->Add(fhNCellsLam0HighE);
-
- fhNCellsLam1LowE = new TH2F ("hNCellsLam1LowE","N_{cells} in cluster vs #lambda_{1}^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
- fhNCellsLam1LowE->SetXTitle("N_{cells}");
- fhNCellsLam1LowE->SetYTitle("#lambda_{0}^{2}");
- outputContainer->Add(fhNCellsLam1LowE);
-
- fhNCellsLam1HighE = new TH2F ("hNCellsLam1HighE","N_{cells} in cluster vs #lambda_{1}^{2}, E > 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
- fhNCellsLam1HighE->SetXTitle("N_{cells}");
- fhNCellsLam1HighE->SetYTitle("#lambda_{0}^{2}");
- outputContainer->Add(fhNCellsLam1HighE);
-
- fhNCellsDispLowE = new TH2F ("hNCellsDispLowE","N_{cells} in cluster vs dispersion^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
- fhNCellsDispLowE->SetXTitle("N_{cells}");
- fhNCellsDispLowE->SetYTitle("D^{2}");
- outputContainer->Add(fhNCellsDispLowE);
-
- fhNCellsDispHighE = new TH2F ("hNCellsDispHighE","N_{cells} in cluster vs dispersion^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
- fhNCellsDispHighE->SetXTitle("N_{cells}");
- fhNCellsDispHighE->SetYTitle("D^{2}");
- outputContainer->Add(fhNCellsDispHighE);
-
- fhEtaLam0LowE = new TH2F ("hEtaLam0LowE","#eta vs #lambda_{0}^{2}, E < 2 GeV", netabins,etamin,etamax, ssbins,ssmin,ssmax);
- fhEtaLam0LowE->SetYTitle("#lambda_{0}^{2}");
- fhEtaLam0LowE->SetXTitle("#eta");
- outputContainer->Add(fhEtaLam0LowE);
-
- fhPhiLam0LowE = new TH2F ("hPhiLam0LowE","#phi vs #lambda_{0}^{2}, E < 2 GeV", nphibins,phimin,phimax, ssbins,ssmin,ssmax);
- fhPhiLam0LowE->SetYTitle("#lambda_{0}^{2}");
- fhPhiLam0LowE->SetXTitle("#phi");
- outputContainer->Add(fhPhiLam0LowE);
-
- fhEtaLam0HighE = new TH2F ("hEtaLam0HighE","#eta vs #lambda_{0}^{2}, E > 2 GeV", netabins,etamin,etamax, ssbins,ssmin,ssmax);
- fhEtaLam0HighE->SetYTitle("#lambda_{0}^{2}");
- fhEtaLam0HighE->SetXTitle("#eta");
- outputContainer->Add(fhEtaLam0HighE);
-
- fhPhiLam0HighE = new TH2F ("hPhiLam0HighE","#phi vs #lambda_{0}^{2}, E > 2 GeV", nphibins,phimin,phimax, ssbins,ssmin,ssmax);
- fhPhiLam0HighE->SetYTitle("#lambda_{0}^{2}");
- fhPhiLam0HighE->SetXTitle("#phi");
- outputContainer->Add(fhPhiLam0HighE);
-
- fhLam1Lam0LowE = new TH2F ("hLam1Lam0LowE","#lambda_{0}^{2} vs #lambda_{1}^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
- fhLam1Lam0LowE->SetYTitle("#lambda_{0}^{2}");
- fhLam1Lam0LowE->SetXTitle("#lambda_{1}^{2}");
- outputContainer->Add(fhLam1Lam0LowE);
-
- fhLam1Lam0HighE = new TH2F ("hLam1Lam0HighE","#lambda_{0}^{2} vs #lambda_{1}^{2} in cluster of E > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
- fhLam1Lam0HighE->SetYTitle("#lambda_{0}^{2}");
- fhLam1Lam0HighE->SetXTitle("#lambda_{1}^{2}");
- outputContainer->Add(fhLam1Lam0HighE);
-
- fhLam0DispLowE = new TH2F ("hLam0DispLowE","#lambda_{0}^{2} vs dispersion^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
- fhLam0DispLowE->SetXTitle("#lambda_{0}^{2}");
- fhLam0DispLowE->SetYTitle("D^{2}");
- outputContainer->Add(fhLam0DispLowE);
-
- fhLam0DispHighE = new TH2F ("hLam0DispHighE","#lambda_{0}^{2} vs dispersion^{2} in cluster of E > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
- fhLam0DispHighE->SetXTitle("#lambda_{0}^{2}");
- fhLam0DispHighE->SetYTitle("D^{2}");
- outputContainer->Add(fhLam0DispHighE);
-
- fhDispLam1LowE = new TH2F ("hDispLam1LowE","Dispersion^{2} vs #lambda_{1}^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
- fhDispLam1LowE->SetXTitle("D^{2}");
- fhDispLam1LowE->SetYTitle("#lambda_{1}^{2}");
- outputContainer->Add(fhDispLam1LowE);
-
- fhDispLam1HighE = new TH2F ("hDispLam1HighE","Dispersion^{2} vs #lambda_{1^{2}} in cluster of E > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
- fhDispLam1HighE->SetXTitle("D^{2}");
- fhDispLam1HighE->SetYTitle("#lambda_{1}^{2}");
- outputContainer->Add(fhDispLam1HighE);
-
- if(fCalorimeter == "EMCAL")
+ if(!fFillOnlySimpleSSHisto)
{
- fhDispEtaE = new TH2F ("hDispEtaE","#sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhDispEtaE->SetXTitle("E (GeV)");
- fhDispEtaE->SetYTitle("#sigma^{2}_{#eta #eta}");
- outputContainer->Add(fhDispEtaE);
-
- fhDispPhiE = new TH2F ("hDispPhiE","#sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhDispPhiE->SetXTitle("E (GeV)");
- fhDispPhiE->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhDispPhiE);
-
- fhSumEtaE = new TH2F ("hSumEtaE","#delta^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i})^{2} / #Sigma w_{i} - <#eta>^{2} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhSumEtaE->SetXTitle("E (GeV)");
- fhSumEtaE->SetYTitle("#delta^{2}_{#eta #eta}");
- outputContainer->Add(fhSumEtaE);
-
- fhSumPhiE = new TH2F ("hSumPhiE","#delta^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i})^{2}/ #Sigma w_{i} - <#phi>^{2} vs E",
- nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhSumPhiE->SetXTitle("E (GeV)");
- fhSumPhiE->SetYTitle("#delta^{2}_{#phi #phi}");
- outputContainer->Add(fhSumPhiE);
-
- fhSumEtaPhiE = new TH2F ("hSumEtaPhiE","#delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",
- nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
- fhSumEtaPhiE->SetXTitle("E (GeV)");
- fhSumEtaPhiE->SetYTitle("#delta^{2}_{#eta #phi}");
- outputContainer->Add(fhSumEtaPhiE);
-
- fhDispEtaPhiDiffE = new TH2F ("hDispEtaPhiDiffE","#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",
- nptbins,ptmin,ptmax,200, -10,10);
- fhDispEtaPhiDiffE->SetXTitle("E (GeV)");
- fhDispEtaPhiDiffE->SetYTitle("#sigma^{2}_{#phi #phi}-#sigma^{2}_{#eta #eta}");
- outputContainer->Add(fhDispEtaPhiDiffE);
-
- fhSphericityE = new TH2F ("hSphericityE","(#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",
- nptbins,ptmin,ptmax, 200, -1,1);
- fhSphericityE->SetXTitle("E (GeV)");
- fhSphericityE->SetYTitle("s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
- outputContainer->Add(fhSphericityE);
-
- fhDispSumEtaDiffE = new TH2F ("hDispSumEtaDiffE","#sigma^{2}_{#eta #eta} - #delta^{2}_{#eta #eta} / average vs E", nptbins,ptmin,ptmax, 200,-0.01,0.01);
- fhDispSumEtaDiffE->SetXTitle("E (GeV)");
- fhDispSumEtaDiffE->SetYTitle("#sigma^{2}_{#eta #eta} - #delta^{2}_{#eta #eta} / average");
- outputContainer->Add(fhDispSumEtaDiffE);
-
- fhDispSumPhiDiffE = new TH2F ("hDispSumPhiDiffE","#sigma^{2}_{#phi #phi} - #delta^{2}_{#phi #phi} / average vs E", nptbins,ptmin,ptmax, 200,-0.01,0.01);
- fhDispSumPhiDiffE->SetXTitle("E (GeV)");
- fhDispSumPhiDiffE->SetYTitle("#sigma^{2}_{#phi #phi} - #delta^{2}_{#phi #phi} / average");
- outputContainer->Add(fhDispSumPhiDiffE);
-
- for(Int_t i = 0; i < 7; i++)
+ fhNCellsLam0LowE = new TH2F ("hNCellsLam0LowE","N_{cells} in cluster vs #lambda_{0}^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
+ fhNCellsLam0LowE->SetXTitle("N_{cells}");
+ fhNCellsLam0LowE->SetYTitle("#lambda_{0}^{2}");
+ outputContainer->Add(fhNCellsLam0LowE);
+
+ fhNCellsLam0HighE = new TH2F ("hNCellsLam0HighE","N_{cells} in cluster vs #lambda_{0}^{2}, E > 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
+ fhNCellsLam0HighE->SetXTitle("N_{cells}");
+ fhNCellsLam0HighE->SetYTitle("#lambda_{0}^{2}");
+ outputContainer->Add(fhNCellsLam0HighE);
+
+ fhNCellsLam1LowE = new TH2F ("hNCellsLam1LowE","N_{cells} in cluster vs #lambda_{1}^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
+ fhNCellsLam1LowE->SetXTitle("N_{cells}");
+ fhNCellsLam1LowE->SetYTitle("#lambda_{0}^{2}");
+ outputContainer->Add(fhNCellsLam1LowE);
+
+ fhNCellsLam1HighE = new TH2F ("hNCellsLam1HighE","N_{cells} in cluster vs #lambda_{1}^{2}, E > 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
+ fhNCellsLam1HighE->SetXTitle("N_{cells}");
+ fhNCellsLam1HighE->SetYTitle("#lambda_{0}^{2}");
+ outputContainer->Add(fhNCellsLam1HighE);
+
+ fhNCellsDispLowE = new TH2F ("hNCellsDispLowE","N_{cells} in cluster vs dispersion^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
+ fhNCellsDispLowE->SetXTitle("N_{cells}");
+ fhNCellsDispLowE->SetYTitle("D^{2}");
+ outputContainer->Add(fhNCellsDispLowE);
+
+ fhNCellsDispHighE = new TH2F ("hNCellsDispHighE","N_{cells} in cluster vs dispersion^{2}, E < 2 GeV", nbins,nmin, nmax, ssbins,ssmin,ssmax);
+ fhNCellsDispHighE->SetXTitle("N_{cells}");
+ fhNCellsDispHighE->SetYTitle("D^{2}");
+ outputContainer->Add(fhNCellsDispHighE);
+
+ fhEtaLam0LowE = new TH2F ("hEtaLam0LowE","#eta vs #lambda_{0}^{2}, E < 2 GeV", netabins,etamin,etamax, ssbins,ssmin,ssmax);
+ fhEtaLam0LowE->SetYTitle("#lambda_{0}^{2}");
+ fhEtaLam0LowE->SetXTitle("#eta");
+ outputContainer->Add(fhEtaLam0LowE);
+
+ fhPhiLam0LowE = new TH2F ("hPhiLam0LowE","#phi vs #lambda_{0}^{2}, E < 2 GeV", nphibins,phimin,phimax, ssbins,ssmin,ssmax);
+ fhPhiLam0LowE->SetYTitle("#lambda_{0}^{2}");
+ fhPhiLam0LowE->SetXTitle("#phi");
+ outputContainer->Add(fhPhiLam0LowE);
+
+ fhEtaLam0HighE = new TH2F ("hEtaLam0HighE","#eta vs #lambda_{0}^{2}, E > 2 GeV", netabins,etamin,etamax, ssbins,ssmin,ssmax);
+ fhEtaLam0HighE->SetYTitle("#lambda_{0}^{2}");
+ fhEtaLam0HighE->SetXTitle("#eta");
+ outputContainer->Add(fhEtaLam0HighE);
+
+ fhPhiLam0HighE = new TH2F ("hPhiLam0HighE","#phi vs #lambda_{0}^{2}, E > 2 GeV", nphibins,phimin,phimax, ssbins,ssmin,ssmax);
+ fhPhiLam0HighE->SetYTitle("#lambda_{0}^{2}");
+ fhPhiLam0HighE->SetXTitle("#phi");
+ outputContainer->Add(fhPhiLam0HighE);
+
+ fhLam1Lam0LowE = new TH2F ("hLam1Lam0LowE","#lambda_{0}^{2} vs #lambda_{1}^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
+ fhLam1Lam0LowE->SetYTitle("#lambda_{0}^{2}");
+ fhLam1Lam0LowE->SetXTitle("#lambda_{1}^{2}");
+ outputContainer->Add(fhLam1Lam0LowE);
+
+ fhLam1Lam0HighE = new TH2F ("hLam1Lam0HighE","#lambda_{0}^{2} vs #lambda_{1}^{2} in cluster of E > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
+ fhLam1Lam0HighE->SetYTitle("#lambda_{0}^{2}");
+ fhLam1Lam0HighE->SetXTitle("#lambda_{1}^{2}");
+ outputContainer->Add(fhLam1Lam0HighE);
+
+ fhLam0DispLowE = new TH2F ("hLam0DispLowE","#lambda_{0}^{2} vs dispersion^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
+ fhLam0DispLowE->SetXTitle("#lambda_{0}^{2}");
+ fhLam0DispLowE->SetYTitle("D^{2}");
+ outputContainer->Add(fhLam0DispLowE);
+
+ fhLam0DispHighE = new TH2F ("hLam0DispHighE","#lambda_{0}^{2} vs dispersion^{2} in cluster of E > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
+ fhLam0DispHighE->SetXTitle("#lambda_{0}^{2}");
+ fhLam0DispHighE->SetYTitle("D^{2}");
+ outputContainer->Add(fhLam0DispHighE);
+
+ fhDispLam1LowE = new TH2F ("hDispLam1LowE","Dispersion^{2} vs #lambda_{1}^{2} in cluster of E < 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
+ fhDispLam1LowE->SetXTitle("D^{2}");
+ fhDispLam1LowE->SetYTitle("#lambda_{1}^{2}");
+ outputContainer->Add(fhDispLam1LowE);
+
+ fhDispLam1HighE = new TH2F ("hDispLam1HighE","Dispersion^{2} vs #lambda_{1^{2}} in cluster of E > 2 GeV", ssbins,ssmin,ssmax, ssbins,ssmin,ssmax);
+ fhDispLam1HighE->SetXTitle("D^{2}");
+ fhDispLam1HighE->SetYTitle("#lambda_{1}^{2}");
+ outputContainer->Add(fhDispLam1HighE);
+
+ if(fCalorimeter == "EMCAL")
{
- fhDispEtaDispPhi[i] = new TH2F (Form("hDispEtaDispPhi_EBin%d",i),Form("#sigma^{2}_{#phi #phi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",bin[i],bin[i+1]),
- ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
- fhDispEtaDispPhi[i]->SetXTitle("#sigma^{2}_{#eta #eta}");
- fhDispEtaDispPhi[i]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhDispEtaDispPhi[i]);
+ fhDispEtaE = new TH2F ("hDispEtaE","#sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhDispEtaE->SetXTitle("E (GeV)");
+ fhDispEtaE->SetYTitle("#sigma^{2}_{#eta #eta}");
+ outputContainer->Add(fhDispEtaE);
+
+ fhDispPhiE = new TH2F ("hDispPhiE","#sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhDispPhiE->SetXTitle("E (GeV)");
+ fhDispPhiE->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhDispPhiE);
+
+ fhSumEtaE = new TH2F ("hSumEtaE","#delta^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i})^{2} / #Sigma w_{i} - <#eta>^{2} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhSumEtaE->SetXTitle("E (GeV)");
+ fhSumEtaE->SetYTitle("#delta^{2}_{#eta #eta}");
+ outputContainer->Add(fhSumEtaE);
+
+ fhSumPhiE = new TH2F ("hSumPhiE","#delta^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i})^{2}/ #Sigma w_{i} - <#phi>^{2} vs E",
+ nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhSumPhiE->SetXTitle("E (GeV)");
+ fhSumPhiE->SetYTitle("#delta^{2}_{#phi #phi}");
+ outputContainer->Add(fhSumPhiE);
+
+ fhSumEtaPhiE = new TH2F ("hSumEtaPhiE","#delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",
+ nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
+ fhSumEtaPhiE->SetXTitle("E (GeV)");
+ fhSumEtaPhiE->SetYTitle("#delta^{2}_{#eta #phi}");
+ outputContainer->Add(fhSumEtaPhiE);
+
+ fhDispEtaPhiDiffE = new TH2F ("hDispEtaPhiDiffE","#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",
+ nptbins,ptmin,ptmax,200, -10,10);
+ fhDispEtaPhiDiffE->SetXTitle("E (GeV)");
+ fhDispEtaPhiDiffE->SetYTitle("#sigma^{2}_{#phi #phi}-#sigma^{2}_{#eta #eta}");
+ outputContainer->Add(fhDispEtaPhiDiffE);
- fhLambda0DispEta[i] = new TH2F (Form("hLambda0DispEta_EBin%d",i),Form("#lambda^{2}_{0} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",bin[i],bin[i+1]),
- ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
- fhLambda0DispEta[i]->SetXTitle("#lambda^{2}_{0}");
- fhLambda0DispEta[i]->SetYTitle("#sigma^{2}_{#eta #eta}");
- outputContainer->Add(fhLambda0DispEta[i]);
+ fhSphericityE = new TH2F ("hSphericityE","(#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",
+ nptbins,ptmin,ptmax, 200, -1,1);
+ fhSphericityE->SetXTitle("E (GeV)");
+ fhSphericityE->SetYTitle("s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
+ outputContainer->Add(fhSphericityE);
- fhLambda0DispPhi[i] = new TH2F (Form("hLambda0DispPhi_EBin%d",i),Form("#lambda^{2}_{0}} vs #sigma^{2}_{#phi #phi} for %d < E < %d GeV",bin[i],bin[i+1]),
- ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
- fhLambda0DispPhi[i]->SetXTitle("#lambda^{2}_{0}");
- fhLambda0DispPhi[i]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhLambda0DispPhi[i]);
+ fhDispSumEtaDiffE = new TH2F ("hDispSumEtaDiffE","#sigma^{2}_{#eta #eta} - #delta^{2}_{#eta #eta} / average vs E", nptbins,ptmin,ptmax, 200,-0.01,0.01);
+ fhDispSumEtaDiffE->SetXTitle("E (GeV)");
+ fhDispSumEtaDiffE->SetYTitle("#sigma^{2}_{#eta #eta} - #delta^{2}_{#eta #eta} / average");
+ outputContainer->Add(fhDispSumEtaDiffE);
+
+ fhDispSumPhiDiffE = new TH2F ("hDispSumPhiDiffE","#sigma^{2}_{#phi #phi} - #delta^{2}_{#phi #phi} / average vs E", nptbins,ptmin,ptmax, 200,-0.01,0.01);
+ fhDispSumPhiDiffE->SetXTitle("E (GeV)");
+ fhDispSumPhiDiffE->SetYTitle("#sigma^{2}_{#phi #phi} - #delta^{2}_{#phi #phi} / average");
+ outputContainer->Add(fhDispSumPhiDiffE);
+
+ for(Int_t i = 0; i < 7; i++)
+ {
+ fhDispEtaDispPhi[i] = new TH2F (Form("hDispEtaDispPhi_EBin%d",i),Form("#sigma^{2}_{#phi #phi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",bin[i],bin[i+1]),
+ ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
+ fhDispEtaDispPhi[i]->SetXTitle("#sigma^{2}_{#eta #eta}");
+ fhDispEtaDispPhi[i]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhDispEtaDispPhi[i]);
+
+ fhLambda0DispEta[i] = new TH2F (Form("hLambda0DispEta_EBin%d",i),Form("#lambda^{2}_{0} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",bin[i],bin[i+1]),
+ ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
+ fhLambda0DispEta[i]->SetXTitle("#lambda^{2}_{0}");
+ fhLambda0DispEta[i]->SetYTitle("#sigma^{2}_{#eta #eta}");
+ outputContainer->Add(fhLambda0DispEta[i]);
+
+ fhLambda0DispPhi[i] = new TH2F (Form("hLambda0DispPhi_EBin%d",i),Form("#lambda^{2}_{0}} vs #sigma^{2}_{#phi #phi} for %d < E < %d GeV",bin[i],bin[i+1]),
+ ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
+ fhLambda0DispPhi[i]->SetXTitle("#lambda^{2}_{0}");
+ fhLambda0DispPhi[i]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhLambda0DispPhi[i]);
+ }
}
}
} // Shower shape
if(IsDataMC())
{
-
fhTrackMatchedDEtaMCNoOverlap[0] = new TH2F
("hTrackMatchedDEtaMCNoOverlapNoCut",
"d#eta of cluster-track vs cluster energy, no other MC particles overlap",
fhMCMaxCellDiffClusterE[i]->SetYTitle("(E_{cluster} - E_{cell max})/ E_{cluster}");
outputContainer->Add(fhMCMaxCellDiffClusterE[i]);
- fhMCLambda0vsClusterMaxCellDiffE0[i] = new TH2F(Form("hLambda0vsClusterMaxCellDiffE0_MC%s",pnamess[i].Data()),
- Form("cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, E < 2 GeV",ptypess[i].Data()),
- ssbins,ssmin,ssmax,500,0,1.);
- fhMCLambda0vsClusterMaxCellDiffE0[i]->SetXTitle("#lambda_{0}^{2}");
- fhMCLambda0vsClusterMaxCellDiffE0[i]->SetYTitle("(E_{cluster} - E_{cell max})/ E_{cluster}");
- outputContainer->Add(fhMCLambda0vsClusterMaxCellDiffE0[i]) ;
-
- fhMCLambda0vsClusterMaxCellDiffE2[i] = new TH2F(Form("hLambda0vsClusterMaxCellDiffE2_MC%s",pnamess[i].Data()),
- Form("cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, 2< E < 6 GeV",ptypess[i].Data()),
- ssbins,ssmin,ssmax,500,0,1.);
- fhMCLambda0vsClusterMaxCellDiffE2[i]->SetXTitle("#lambda_{0}^{2}");
- fhMCLambda0vsClusterMaxCellDiffE2[i]->SetYTitle("(E_{cluster} - E_{cell max})/ E_{cluster}");
- outputContainer->Add(fhMCLambda0vsClusterMaxCellDiffE2[i]) ;
-
- fhMCLambda0vsClusterMaxCellDiffE6[i] = new TH2F(Form("hLambda0vsClusterMaxCellDiffE6_MC%s",pnamess[i].Data()),
- Form("cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, E > 6 GeV",ptypess[i].Data()),
- ssbins,ssmin,ssmax,500,0,1.);
- fhMCLambda0vsClusterMaxCellDiffE6[i]->SetXTitle("#lambda_{0}^{2}");
- fhMCLambda0vsClusterMaxCellDiffE6[i]->SetYTitle("(E_{cluster} - E_{cell max})/ E_{cluster}");
- outputContainer->Add(fhMCLambda0vsClusterMaxCellDiffE6[i]) ;
-
- fhMCNCellsvsClusterMaxCellDiffE0[i] = new TH2F(Form("hNCellsvsClusterMaxCellDiffE0_MC%s",pnamess[i].Data()),
- Form("cluster from %s : N cells in cluster vs fraction of energy carried by max cell, E < 2 GeV",ptypess[i].Data()),
- nbins/5,nmin,nmax/5,500,0,1.);
- fhMCNCellsvsClusterMaxCellDiffE0[i]->SetXTitle("N cells in cluster");
- fhMCNCellsvsClusterMaxCellDiffE0[i]->SetYTitle("(E_{cluster} - E_{cell max})/ E_{cluster}");
- outputContainer->Add(fhMCNCellsvsClusterMaxCellDiffE0[i]) ;
-
- fhMCNCellsvsClusterMaxCellDiffE2[i] = new TH2F(Form("hNCellsvsClusterMaxCellDiffE2_MC%s",pnamess[i].Data()),
- Form("cluster from %s : N cells in cluster vs fraction of energy carried by max cell, 2< E < 6 GeV",ptypess[i].Data()),
- nbins/5,nmin,nmax/5,500,0,1.);
- fhMCNCellsvsClusterMaxCellDiffE2[i]->SetXTitle("N cells in cluster");
- fhMCNCellsvsClusterMaxCellDiffE2[i]->SetYTitle("(E_{cluster} - E_{cell max})/ E_{cluster}");
- outputContainer->Add(fhMCNCellsvsClusterMaxCellDiffE2[i]) ;
-
- fhMCNCellsvsClusterMaxCellDiffE6[i] = new TH2F(Form("hNCellsvsClusterMaxCellDiffE6_MC%s",pnamess[i].Data()),
- Form("cluster from %s : N cells in cluster vs fraction of energy carried by max cell, E > 6 GeV",ptypess[i].Data()),
- nbins/5,nmin,nmax/5,500,0,1.);
- fhMCNCellsvsClusterMaxCellDiffE6[i]->SetXTitle("N cells in cluster");
- fhMCNCellsvsClusterMaxCellDiffE6[i]->SetYTitle("E (GeV)");
- outputContainer->Add(fhMCNCellsvsClusterMaxCellDiffE6[i]) ;
-
- if(fCalorimeter=="EMCAL")
+ if(!fFillOnlySimpleSSHisto)
{
- fhMCEDispEta[i] = new TH2F (Form("hEDispEtaE_MC%s",pnamess[i].Data()),
- Form("cluster from %s : #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E",ptypess[i].Data()),
- nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhMCEDispEta[i]->SetXTitle("E (GeV)");
- fhMCEDispEta[i]->SetYTitle("#sigma^{2}_{#eta #eta}");
- outputContainer->Add(fhMCEDispEta[i]);
+ fhMCLambda0vsClusterMaxCellDiffE0[i] = new TH2F(Form("hLambda0vsClusterMaxCellDiffE0_MC%s",pnamess[i].Data()),
+ Form("cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, E < 2 GeV",ptypess[i].Data()),
+ ssbins,ssmin,ssmax,500,0,1.);
+ fhMCLambda0vsClusterMaxCellDiffE0[i]->SetXTitle("#lambda_{0}^{2}");
+ fhMCLambda0vsClusterMaxCellDiffE0[i]->SetYTitle("(E_{cluster} - E_{cell max})/ E_{cluster}");
+ outputContainer->Add(fhMCLambda0vsClusterMaxCellDiffE0[i]) ;
+
+ fhMCLambda0vsClusterMaxCellDiffE2[i] = new TH2F(Form("hLambda0vsClusterMaxCellDiffE2_MC%s",pnamess[i].Data()),
+ Form("cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, 2< E < 6 GeV",ptypess[i].Data()),
+ ssbins,ssmin,ssmax,500,0,1.);
+ fhMCLambda0vsClusterMaxCellDiffE2[i]->SetXTitle("#lambda_{0}^{2}");
+ fhMCLambda0vsClusterMaxCellDiffE2[i]->SetYTitle("(E_{cluster} - E_{cell max})/ E_{cluster}");
+ outputContainer->Add(fhMCLambda0vsClusterMaxCellDiffE2[i]) ;
- fhMCEDispPhi[i] = new TH2F (Form("hEDispPhiE_MC%s",pnamess[i].Data()),
- Form("cluster from %s : #sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E",ptypess[i].Data()),
- nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhMCEDispPhi[i]->SetXTitle("E (GeV)");
- fhMCEDispPhi[i]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhMCEDispPhi[i]);
+ fhMCLambda0vsClusterMaxCellDiffE6[i] = new TH2F(Form("hLambda0vsClusterMaxCellDiffE6_MC%s",pnamess[i].Data()),
+ Form("cluster from %s : #lambda^{2}_{0} vs fraction of energy carried by max cell, E > 6 GeV",ptypess[i].Data()),
+ ssbins,ssmin,ssmax,500,0,1.);
+ fhMCLambda0vsClusterMaxCellDiffE6[i]->SetXTitle("#lambda_{0}^{2}");
+ fhMCLambda0vsClusterMaxCellDiffE6[i]->SetYTitle("(E_{cluster} - E_{cell max})/ E_{cluster}");
+ outputContainer->Add(fhMCLambda0vsClusterMaxCellDiffE6[i]) ;
- fhMCESumEtaPhi[i] = new TH2F (Form("hESumEtaPhiE_MC%s",pnamess[i].Data()),
- Form("cluster from %s : #delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",ptypess[i].Data()),
- nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
- fhMCESumEtaPhi[i]->SetXTitle("E (GeV)");
- fhMCESumEtaPhi[i]->SetYTitle("#delta^{2}_{#eta #phi}");
- outputContainer->Add(fhMCESumEtaPhi[i]);
+ fhMCNCellsvsClusterMaxCellDiffE0[i] = new TH2F(Form("hNCellsvsClusterMaxCellDiffE0_MC%s",pnamess[i].Data()),
+ Form("cluster from %s : N cells in cluster vs fraction of energy carried by max cell, E < 2 GeV",ptypess[i].Data()),
+ nbins/5,nmin,nmax/5,500,0,1.);
+ fhMCNCellsvsClusterMaxCellDiffE0[i]->SetXTitle("N cells in cluster");
+ fhMCNCellsvsClusterMaxCellDiffE0[i]->SetYTitle("(E_{cluster} - E_{cell max})/ E_{cluster}");
+ outputContainer->Add(fhMCNCellsvsClusterMaxCellDiffE0[i]) ;
- fhMCEDispEtaPhiDiff[i] = new TH2F (Form("hEDispEtaPhiDiffE_MC%s",pnamess[i].Data()),
- Form("cluster from %s : #sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",ptypess[i].Data()),
- nptbins,ptmin,ptmax,200,-10,10);
- fhMCEDispEtaPhiDiff[i]->SetXTitle("E (GeV)");
- fhMCEDispEtaPhiDiff[i]->SetYTitle("#sigma^{2}_{#phi #phi}-#sigma^{2}_{#eta #eta}");
- outputContainer->Add(fhMCEDispEtaPhiDiff[i]);
+ fhMCNCellsvsClusterMaxCellDiffE2[i] = new TH2F(Form("hNCellsvsClusterMaxCellDiffE2_MC%s",pnamess[i].Data()),
+ Form("cluster from %s : N cells in cluster vs fraction of energy carried by max cell, 2< E < 6 GeV",ptypess[i].Data()),
+ nbins/5,nmin,nmax/5,500,0,1.);
+ fhMCNCellsvsClusterMaxCellDiffE2[i]->SetXTitle("N cells in cluster");
+ fhMCNCellsvsClusterMaxCellDiffE2[i]->SetYTitle("(E_{cluster} - E_{cell max})/ E_{cluster}");
+ outputContainer->Add(fhMCNCellsvsClusterMaxCellDiffE2[i]) ;
- fhMCESphericity[i] = new TH2F (Form("hESphericity_MC%s",pnamess[i].Data()),
- Form("cluster from %s : (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",ptypess[i].Data()),
- nptbins,ptmin,ptmax, 200,-1,1);
- fhMCESphericity[i]->SetXTitle("E (GeV)");
- fhMCESphericity[i]->SetYTitle("s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
- outputContainer->Add(fhMCESphericity[i]);
+ fhMCNCellsvsClusterMaxCellDiffE6[i] = new TH2F(Form("hNCellsvsClusterMaxCellDiffE6_MC%s",pnamess[i].Data()),
+ Form("cluster from %s : N cells in cluster vs fraction of energy carried by max cell, E > 6 GeV",ptypess[i].Data()),
+ nbins/5,nmin,nmax/5,500,0,1.);
+ fhMCNCellsvsClusterMaxCellDiffE6[i]->SetXTitle("N cells in cluster");
+ fhMCNCellsvsClusterMaxCellDiffE6[i]->SetYTitle("E (GeV)");
+ outputContainer->Add(fhMCNCellsvsClusterMaxCellDiffE6[i]) ;
- for(Int_t ie = 0; ie < 7; ie++)
+ if(fCalorimeter=="EMCAL")
{
- fhMCDispEtaDispPhi[ie][i] = new TH2F (Form("hMCDispEtaDispPhi_EBin%d_MC%s",ie,pnamess[i].Data()),
- Form("cluster from %s : #sigma^{2}_{#phi #phi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pnamess[i].Data(),bin[ie],bin[ie+1]),
- ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
- fhMCDispEtaDispPhi[ie][i]->SetXTitle("#sigma^{2}_{#eta #eta}");
- fhMCDispEtaDispPhi[ie][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhMCDispEtaDispPhi[ie][i]);
-
- fhMCLambda0DispEta[ie][i] = new TH2F (Form("hMCLambda0DispEta_EBin%d_MC%s",ie,pnamess[i].Data()),
- Form("cluster from %s : #lambda^{2}_{0} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pnamess[i].Data(),bin[ie],bin[ie+1]),
- ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
- fhMCLambda0DispEta[ie][i]->SetXTitle("#lambda^{2}_{0}");
- fhMCLambda0DispEta[ie][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhMCLambda0DispEta[ie][i]);
-
- fhMCLambda0DispPhi[ie][i] = new TH2F (Form("hMCLambda0DispPhi_EBin%d_MC%s",ie,pnamess[i].Data()),
- Form("cluster from %s :#lambda^{2}_{0} vs #sigma^{2}_{#phi #phi} for %d < E < %d GeV",pnamess[i].Data(),bin[ie],bin[ie+1]),
- ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
- fhMCLambda0DispPhi[ie][i]->SetXTitle("#lambda^{2}_{0}");
- fhMCLambda0DispPhi[ie][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhMCLambda0DispPhi[ie][i]);
+ fhMCEDispEta[i] = new TH2F (Form("hEDispEtaE_MC%s",pnamess[i].Data()),
+ Form("cluster from %s : #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E",ptypess[i].Data()),
+ nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhMCEDispEta[i]->SetXTitle("E (GeV)");
+ fhMCEDispEta[i]->SetYTitle("#sigma^{2}_{#eta #eta}");
+ outputContainer->Add(fhMCEDispEta[i]);
+
+ fhMCEDispPhi[i] = new TH2F (Form("hEDispPhiE_MC%s",pnamess[i].Data()),
+ Form("cluster from %s : #sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E",ptypess[i].Data()),
+ nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhMCEDispPhi[i]->SetXTitle("E (GeV)");
+ fhMCEDispPhi[i]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhMCEDispPhi[i]);
+
+ fhMCESumEtaPhi[i] = new TH2F (Form("hESumEtaPhiE_MC%s",pnamess[i].Data()),
+ Form("cluster from %s : #delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",ptypess[i].Data()),
+ nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
+ fhMCESumEtaPhi[i]->SetXTitle("E (GeV)");
+ fhMCESumEtaPhi[i]->SetYTitle("#delta^{2}_{#eta #phi}");
+ outputContainer->Add(fhMCESumEtaPhi[i]);
+
+ fhMCEDispEtaPhiDiff[i] = new TH2F (Form("hEDispEtaPhiDiffE_MC%s",pnamess[i].Data()),
+ Form("cluster from %s : #sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",ptypess[i].Data()),
+ nptbins,ptmin,ptmax,200,-10,10);
+ fhMCEDispEtaPhiDiff[i]->SetXTitle("E (GeV)");
+ fhMCEDispEtaPhiDiff[i]->SetYTitle("#sigma^{2}_{#phi #phi}-#sigma^{2}_{#eta #eta}");
+ outputContainer->Add(fhMCEDispEtaPhiDiff[i]);
+
+ fhMCESphericity[i] = new TH2F (Form("hESphericity_MC%s",pnamess[i].Data()),
+ Form("cluster from %s : (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",ptypess[i].Data()),
+ nptbins,ptmin,ptmax, 200,-1,1);
+ fhMCESphericity[i]->SetXTitle("E (GeV)");
+ fhMCESphericity[i]->SetYTitle("s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
+ outputContainer->Add(fhMCESphericity[i]);
+
+ for(Int_t ie = 0; ie < 7; ie++)
+ {
+ fhMCDispEtaDispPhi[ie][i] = new TH2F (Form("hMCDispEtaDispPhi_EBin%d_MC%s",ie,pnamess[i].Data()),
+ Form("cluster from %s : #sigma^{2}_{#phi #phi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pnamess[i].Data(),bin[ie],bin[ie+1]),
+ ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
+ fhMCDispEtaDispPhi[ie][i]->SetXTitle("#sigma^{2}_{#eta #eta}");
+ fhMCDispEtaDispPhi[ie][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhMCDispEtaDispPhi[ie][i]);
+
+ fhMCLambda0DispEta[ie][i] = new TH2F (Form("hMCLambda0DispEta_EBin%d_MC%s",ie,pnamess[i].Data()),
+ Form("cluster from %s : #lambda^{2}_{0} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pnamess[i].Data(),bin[ie],bin[ie+1]),
+ ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
+ fhMCLambda0DispEta[ie][i]->SetXTitle("#lambda^{2}_{0}");
+ fhMCLambda0DispEta[ie][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhMCLambda0DispEta[ie][i]);
+
+ fhMCLambda0DispPhi[ie][i] = new TH2F (Form("hMCLambda0DispPhi_EBin%d_MC%s",ie,pnamess[i].Data()),
+ Form("cluster from %s :#lambda^{2}_{0} vs #sigma^{2}_{#phi #phi} for %d < E < %d GeV",pnamess[i].Data(),bin[ie],bin[ie+1]),
+ ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
+ fhMCLambda0DispPhi[ie][i]->SetXTitle("#lambda^{2}_{0}");
+ fhMCLambda0DispPhi[ie][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhMCLambda0DispPhi[ie][i]);
+ }
}
-
}
}// loop
fhMCDeltaE[kmcPhoton] ->Fill(ecluster,eprim-ecluster);
fhMCDeltaPt[kmcPhoton]->Fill(ptcluster,ptprim-ptcluster);
- if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion) && fhMCE[kmcConversion])
+ if(GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCConversion) &&
+ GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCPhoton) &&
+ fhMCE[kmcConversion])
{
fhMCE [kmcConversion] ->Fill(ecluster);
fhMCPt [kmcConversion] ->Fill(ptcluster);
fhMCDeltaPt[kmcPi0Decay]->Fill(ptcluster,ptprim-ptcluster);
}
- else if( (GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay) ||
- GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay) ) && fhMCE[kmcOtherDecay])
+ else if((( GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEtaDecay) &&
+ !GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCEta) ) ||
+ GetMCAnalysisUtils()->CheckTagBit(tag,AliMCAnalysisUtils::kMCOtherDecay) ) && fhMCE[kmcOtherDecay])
{
fhMCE [kmcOtherDecay] ->Fill(ecluster);
fhMCPt [kmcOtherDecay] ->Fill(ptcluster);
void SwitchOnFillShowerShapeHistograms() { fFillSSHistograms = kTRUE ; }
void SwitchOffFillShowerShapeHistograms() { fFillSSHistograms = kFALSE ; }
+ void SwitchOnOnlySimpleSSHistoFill() { fFillOnlySimpleSSHisto = kTRUE ; }
+ void SwitchOffOnlySimpleHistoFill() { fFillOnlySimpleSSHisto = kFALSE ; }
+
void FillTrackMatchingResidualHistograms(AliVCluster* calo, const Int_t cut);
void SwitchOnTMHistoFill() { fFillTMHisto = kTRUE ; }
Double_t fTimeCutMax ; // Remove clusters/cells with time larger than this value, in ns
Int_t fNCellsCut ; // Accept for the analysis clusters with more than fNCellsCut cells
Bool_t fFillSSHistograms ; // Fill shower shape histograms
+ Bool_t fFillOnlySimpleSSHisto; // Fill selected cluster histograms, selected SS histograms
Int_t fNOriginHistograms; // Fill only NOriginHistograms of the 14 defined types
Int_t fNPrimaryHistograms; // Fill only NPrimaryHistograms of the 7 defined types
AliAnaPhoton( const AliAnaPhoton & g) ; // cpy ctor
AliAnaPhoton & operator = (const AliAnaPhoton & g) ; // cpy assignment
- ClassDef(AliAnaPhoton,25)
+ ClassDef(AliAnaPhoton,26)
} ;
AliAnaCaloTrackCorrBaseClass(),fAnaType(kIMCalo), fCalorimeter(""),
fMinDist(0.),fMinDist2(0.), fMinDist3(0.),
fTimeCutMin(-10000), fTimeCutMax(10000),
- fFillWeightHistograms(kFALSE), fFillTMHisto(0), fFillSelectClHisto(0),
+ fFillWeightHistograms(kFALSE), fFillTMHisto(0),
+ fFillSelectClHisto(0), fFillOnlySimpleSSHisto(1),
fInputAODGammaConvName(""),
// Histograms
fhPt(0), fhE(0),
Float_t ll0 = 0., ll1 = 0.;
Float_t dispp= 0., dEta = 0., dPhi = 0.;
Float_t sEta = 0., sPhi = 0., sEtaPhi = 0.;
- if(fCalorimeter == "EMCAL")
+ if(fCalorimeter == "EMCAL" && !fFillOnlySimpleSSHisto)
{
GetCaloUtils()->GetEMCALRecoUtils()->RecalculateClusterShowerShapeParameters(GetEMCALGeometry(), GetReader()->GetInputEvent()->GetEMCALCells(), cluster,
ll0, ll1, dispp, dEta, dPhi, sEta, sPhi, sEtaPhi);
-
+
fhDispEtaE -> Fill(e,dEta);
fhDispPhiE -> Fill(e,dPhi);
fhSumEtaE -> Fill(e,sEta);
fhELambda0LocMax [indexMax]->Fill(e,l0);
fhELambda1LocMax [indexMax]->Fill(e,l1);
fhEDispersionLocMax[indexMax]->Fill(e,disp);
- if(fCalorimeter=="EMCAL")
+
+ if(fCalorimeter=="EMCAL" && !fFillOnlySimpleSSHisto)
{
fhEDispEtaLocMax [indexMax]-> Fill(e,dEta);
fhEDispPhiLocMax [indexMax]-> Fill(e,dPhi);
if(fCalorimeter=="EMCAL" && nSM < 6)
fhEMCLambda0NoTRD[mcIndex]->Fill(e, l0 );
+
if(maxCellFraction < 0.5)
fhEMCLambda0FracMaxCellCut[mcIndex]->Fill(e, l0 );
- if(fCalorimeter == "EMCAL")
+ if(fCalorimeter == "EMCAL" && !fFillOnlySimpleSSHisto)
{
fhMCEDispEta [mcIndex]-> Fill(e,dEta);
fhMCEDispPhi [mcIndex]-> Fill(e,dPhi);
fhEFracMaxCellNoTRD->SetXTitle("E (GeV)");
outputContainer->Add(fhEFracMaxCellNoTRD) ;
-
- fhDispEtaE = new TH2F ("hDispEtaE","#sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhDispEtaE->SetXTitle("E (GeV)");
- fhDispEtaE->SetYTitle("#sigma^{2}_{#eta #eta}");
- outputContainer->Add(fhDispEtaE);
-
- fhDispPhiE = new TH2F ("hDispPhiE","#sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhDispPhiE->SetXTitle("E (GeV)");
- fhDispPhiE->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhDispPhiE);
-
- fhSumEtaE = new TH2F ("hSumEtaE","#sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i})^{2} / #Sigma w_{i} - <#eta>^{2} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhSumEtaE->SetXTitle("E (GeV)");
- fhSumEtaE->SetYTitle("#delta^{2}_{#eta #eta}");
- outputContainer->Add(fhSumEtaE);
-
- fhSumPhiE = new TH2F ("hSumPhiE","#sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i})^{2}/ #Sigma w_{i} - <#phi>^{2} vs E",
- nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhSumPhiE->SetXTitle("E (GeV)");
- fhSumPhiE->SetYTitle("#delta^{2}_{#phi #phi}");
- outputContainer->Add(fhSumPhiE);
-
- fhSumEtaPhiE = new TH2F ("hSumEtaPhiE","#delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",
- nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
- fhSumEtaPhiE->SetXTitle("E (GeV)");
- fhSumEtaPhiE->SetYTitle("#delta^{2}_{#eta #phi}");
- outputContainer->Add(fhSumEtaPhiE);
-
- fhDispEtaPhiDiffE = new TH2F ("hDispEtaPhiDiffE","#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",
- nptbins,ptmin,ptmax,200, -10,10);
- fhDispEtaPhiDiffE->SetXTitle("E (GeV)");
- fhDispEtaPhiDiffE->SetYTitle("#sigma^{2}_{#phi #phi}-#sigma^{2}_{#eta #eta}");
- outputContainer->Add(fhDispEtaPhiDiffE);
-
- fhSphericityE = new TH2F ("hSphericityE","(#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",
- nptbins,ptmin,ptmax, 200, -1,1);
- fhSphericityE->SetXTitle("E (GeV)");
- fhSphericityE->SetYTitle("s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
- outputContainer->Add(fhSphericityE);
-
- for(Int_t i = 0; i < 7; i++)
+ if(!fFillOnlySimpleSSHisto)
{
- fhDispEtaDispPhi[i] = new TH2F (Form("hDispEtaDispPhi_EBin%d",i),Form("#sigma^{2}_{#phi #phi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",bin[i],bin[i+1]),
- ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
- fhDispEtaDispPhi[i]->SetXTitle("#sigma^{2}_{#eta #eta}");
- fhDispEtaDispPhi[i]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhDispEtaDispPhi[i]);
+ fhDispEtaE = new TH2F ("hDispEtaE","#sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhDispEtaE->SetXTitle("E (GeV)");
+ fhDispEtaE->SetYTitle("#sigma^{2}_{#eta #eta}");
+ outputContainer->Add(fhDispEtaE);
+
+ fhDispPhiE = new TH2F ("hDispPhiE","#sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhDispPhiE->SetXTitle("E (GeV)");
+ fhDispPhiE->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhDispPhiE);
+
+ fhSumEtaE = new TH2F ("hSumEtaE","#sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i})^{2} / #Sigma w_{i} - <#eta>^{2} vs E", nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhSumEtaE->SetXTitle("E (GeV)");
+ fhSumEtaE->SetYTitle("#delta^{2}_{#eta #eta}");
+ outputContainer->Add(fhSumEtaE);
+
+ fhSumPhiE = new TH2F ("hSumPhiE","#sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i})^{2}/ #Sigma w_{i} - <#phi>^{2} vs E",
+ nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhSumPhiE->SetXTitle("E (GeV)");
+ fhSumPhiE->SetYTitle("#delta^{2}_{#phi #phi}");
+ outputContainer->Add(fhSumPhiE);
+
+ fhSumEtaPhiE = new TH2F ("hSumEtaPhiE","#delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",
+ nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
+ fhSumEtaPhiE->SetXTitle("E (GeV)");
+ fhSumEtaPhiE->SetYTitle("#delta^{2}_{#eta #phi}");
+ outputContainer->Add(fhSumEtaPhiE);
- fhLambda0DispEta[i] = new TH2F (Form("hLambda0DispEta_EBin%d",i),Form("#lambda^{2}_{0} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",bin[i],bin[i+1]),
- ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
- fhLambda0DispEta[i]->SetXTitle("#lambda^{2}_{0}");
- fhLambda0DispEta[i]->SetYTitle("#sigma^{2}_{#eta #eta}");
- outputContainer->Add(fhLambda0DispEta[i]);
+ fhDispEtaPhiDiffE = new TH2F ("hDispEtaPhiDiffE","#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",
+ nptbins,ptmin,ptmax,200, -10,10);
+ fhDispEtaPhiDiffE->SetXTitle("E (GeV)");
+ fhDispEtaPhiDiffE->SetYTitle("#sigma^{2}_{#phi #phi}-#sigma^{2}_{#eta #eta}");
+ outputContainer->Add(fhDispEtaPhiDiffE);
- fhLambda0DispPhi[i] = new TH2F (Form("hLambda0DispPhi_EBin%d",i),Form("#lambda^{2}_{0}} vs #sigma^{2}_{#phi #phi} for %d < E < %d GeV",bin[i],bin[i+1]),
- ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
- fhLambda0DispPhi[i]->SetXTitle("#lambda^{2}_{0}");
- fhLambda0DispPhi[i]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhLambda0DispPhi[i]);
+ fhSphericityE = new TH2F ("hSphericityE","(#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",
+ nptbins,ptmin,ptmax, 200, -1,1);
+ fhSphericityE->SetXTitle("E (GeV)");
+ fhSphericityE->SetYTitle("s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
+ outputContainer->Add(fhSphericityE);
+ for(Int_t i = 0; i < 7; i++)
+ {
+ fhDispEtaDispPhi[i] = new TH2F (Form("hDispEtaDispPhi_EBin%d",i),Form("#sigma^{2}_{#phi #phi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",bin[i],bin[i+1]),
+ ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
+ fhDispEtaDispPhi[i]->SetXTitle("#sigma^{2}_{#eta #eta}");
+ fhDispEtaDispPhi[i]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhDispEtaDispPhi[i]);
+
+ fhLambda0DispEta[i] = new TH2F (Form("hLambda0DispEta_EBin%d",i),Form("#lambda^{2}_{0} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",bin[i],bin[i+1]),
+ ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
+ fhLambda0DispEta[i]->SetXTitle("#lambda^{2}_{0}");
+ fhLambda0DispEta[i]->SetYTitle("#sigma^{2}_{#eta #eta}");
+ outputContainer->Add(fhLambda0DispEta[i]);
+
+ fhLambda0DispPhi[i] = new TH2F (Form("hLambda0DispPhi_EBin%d",i),Form("#lambda^{2}_{0}} vs #sigma^{2}_{#phi #phi} for %d < E < %d GeV",bin[i],bin[i+1]),
+ ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
+ fhLambda0DispPhi[i]->SetXTitle("#lambda^{2}_{0}");
+ fhLambda0DispPhi[i]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhLambda0DispPhi[i]);
+
+ }
}
}
fhEDispersionLocMax[i]->SetXTitle("E (GeV)");
outputContainer->Add(fhEDispersionLocMax[i]) ;
- if(fCalorimeter == "EMCAL")
+ if(fCalorimeter == "EMCAL" && !fFillOnlySimpleSSHisto)
{
fhEDispEtaLocMax[i] = new TH2F(Form("hEDispEtaLocMax%d",i+1),
Form("Selected #pi^{0} (#eta) pairs: E vs #sigma_{#eta #eta}, %s",nlm[i].Data()),
fhETime->SetYTitle("t (ns)");
outputContainer->Add(fhETime);
- }// Invariant mass analysis in calorimeters and calorimeter + conversion photons
+ }
if(fAnaType == kIMCalo)
{
outputContainer->Add(fhEOverPNoTRD);
}
- if(IsDataMC())
+ if(IsDataMC() && fFillTMHisto)
{
fhTrackMatchedMCParticle = new TH2F
("hTrackMatchedMCParticle",
if(fFillWeightHistograms)
{
-
fhECellClusterRatio = new TH2F ("hECellClusterRatio"," cell energy / cluster energy vs cluster energy, for selected decay photons from neutral meson",
nptbins,ptmin,ptmax, 100,0,1.);
fhECellClusterRatio->SetXTitle("E_{cluster} (GeV) ");
fhEMCLambda0NoTRD[i]->SetXTitle("E (GeV)");
outputContainer->Add(fhEMCLambda0NoTRD[i]) ;
-
- fhMCEDispEta[i] = new TH2F (Form("hEDispEtaE_MC%s",pname[i].Data()),
- Form("cluster from %s : #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E",ptype[i].Data()),
- nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhMCEDispEta[i]->SetXTitle("E (GeV)");
- fhMCEDispEta[i]->SetYTitle("#sigma^{2}_{#eta #eta}");
- outputContainer->Add(fhMCEDispEta[i]);
-
- fhMCEDispPhi[i] = new TH2F (Form("hEDispPhiE_MC%s",pname[i].Data()),
- Form("cluster from %s : #sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E",ptype[i].Data()),
- nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
- fhMCEDispPhi[i]->SetXTitle("E (GeV)");
- fhMCEDispPhi[i]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhMCEDispPhi[i]);
-
- fhMCESumEtaPhi[i] = new TH2F (Form("hESumEtaPhiE_MC%s",pname[i].Data()),
- Form("cluster from %s : #delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",ptype[i].Data()),
- nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
- fhMCESumEtaPhi[i]->SetXTitle("E (GeV)");
- fhMCESumEtaPhi[i]->SetYTitle("#delta^{2}_{#eta #phi}");
- outputContainer->Add(fhMCESumEtaPhi[i]);
-
- fhMCEDispEtaPhiDiff[i] = new TH2F (Form("hEDispEtaPhiDiffE_MC%s",pname[i].Data()),
- Form("cluster from %s : #sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",ptype[i].Data()),
- nptbins,ptmin,ptmax,200,-10,10);
- fhMCEDispEtaPhiDiff[i]->SetXTitle("E (GeV)");
- fhMCEDispEtaPhiDiff[i]->SetYTitle("#sigma^{2}_{#phi #phi}-#sigma^{2}_{#eta #eta}");
- outputContainer->Add(fhMCEDispEtaPhiDiff[i]);
-
- fhMCESphericity[i] = new TH2F (Form("hESphericity_MC%s",pname[i].Data()),
- Form("cluster from %s : (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",ptype[i].Data()),
- nptbins,ptmin,ptmax, 200,-1,1);
- fhMCESphericity[i]->SetXTitle("E (GeV)");
- fhMCESphericity[i]->SetYTitle("s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
- outputContainer->Add(fhMCESphericity[i]);
-
- for(Int_t ie = 0; ie < 7; ie++)
+ if(!fFillOnlySimpleSSHisto)
{
- fhMCDispEtaDispPhi[ie][i] = new TH2F (Form("hMCDispEtaDispPhi_EBin%d_MC%s",ie,pname[i].Data()),
- Form("cluster from %s : #sigma^{2}_{#phi #phi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pname[i].Data(),bin[ie],bin[ie+1]),
- ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
- fhMCDispEtaDispPhi[ie][i]->SetXTitle("#sigma^{2}_{#eta #eta}");
- fhMCDispEtaDispPhi[ie][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhMCDispEtaDispPhi[ie][i]);
+ fhMCEDispEta[i] = new TH2F (Form("hEDispEtaE_MC%s",pname[i].Data()),
+ Form("cluster from %s : #sigma^{2}_{#eta #eta} = #Sigma w_{i}(#eta_{i} - <#eta>)^{2}/ #Sigma w_{i} vs E",ptype[i].Data()),
+ nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhMCEDispEta[i]->SetXTitle("E (GeV)");
+ fhMCEDispEta[i]->SetYTitle("#sigma^{2}_{#eta #eta}");
+ outputContainer->Add(fhMCEDispEta[i]);
+
+ fhMCEDispPhi[i] = new TH2F (Form("hEDispPhiE_MC%s",pname[i].Data()),
+ Form("cluster from %s : #sigma^{2}_{#phi #phi} = #Sigma w_{i}(#phi_{i} - <#phi>)^{2} / #Sigma w_{i} vs E",ptype[i].Data()),
+ nptbins,ptmin,ptmax, ssbins,ssmin,ssmax);
+ fhMCEDispPhi[i]->SetXTitle("E (GeV)");
+ fhMCEDispPhi[i]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhMCEDispPhi[i]);
+
+ fhMCESumEtaPhi[i] = new TH2F (Form("hESumEtaPhiE_MC%s",pname[i].Data()),
+ Form("cluster from %s : #delta^{2}_{#eta #phi} = #Sigma w_{i}(#phi_{i} #eta_{i} ) / #Sigma w_{i} - <#phi><#eta> vs E",ptype[i].Data()),
+ nptbins,ptmin,ptmax, 2*ssbins,-ssmax,ssmax);
+ fhMCESumEtaPhi[i]->SetXTitle("E (GeV)");
+ fhMCESumEtaPhi[i]->SetYTitle("#delta^{2}_{#eta #phi}");
+ outputContainer->Add(fhMCESumEtaPhi[i]);
- fhMCLambda0DispEta[ie][i] = new TH2F (Form("hMCLambda0DispEta_EBin%d_MC%s",ie,pname[i].Data()),
- Form("cluster from %s : #lambda^{2}_{0} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pname[i].Data(),bin[ie],bin[ie+1]),
- ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
- fhMCLambda0DispEta[ie][i]->SetXTitle("#lambda^{2}_{0}");
- fhMCLambda0DispEta[ie][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhMCLambda0DispEta[ie][i]);
+ fhMCEDispEtaPhiDiff[i] = new TH2F (Form("hEDispEtaPhiDiffE_MC%s",pname[i].Data()),
+ Form("cluster from %s : #sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta} vs E",ptype[i].Data()),
+ nptbins,ptmin,ptmax,200,-10,10);
+ fhMCEDispEtaPhiDiff[i]->SetXTitle("E (GeV)");
+ fhMCEDispEtaPhiDiff[i]->SetYTitle("#sigma^{2}_{#phi #phi}-#sigma^{2}_{#eta #eta}");
+ outputContainer->Add(fhMCEDispEtaPhiDiff[i]);
- fhMCLambda0DispPhi[ie][i] = new TH2F (Form("hMCLambda0DispPhi_EBin%d_MC%s",ie,pname[i].Data()),
- Form("cluster from %s :#lambda^{2}_{0} vs #sigma^{2}_{#phi #phi} for %d < E < %d GeV",pname[i].Data(),bin[ie],bin[ie+1]),
- ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
- fhMCLambda0DispPhi[ie][i]->SetXTitle("#lambda^{2}_{0}");
- fhMCLambda0DispPhi[ie][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
- outputContainer->Add(fhMCLambda0DispPhi[ie][i]);
+ fhMCESphericity[i] = new TH2F (Form("hESphericity_MC%s",pname[i].Data()),
+ Form("cluster from %s : (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi}) vs E",ptype[i].Data()),
+ nptbins,ptmin,ptmax, 200,-1,1);
+ fhMCESphericity[i]->SetXTitle("E (GeV)");
+ fhMCESphericity[i]->SetYTitle("s = (#sigma^{2}_{#phi #phi} - #sigma^{2}_{#eta #eta}) / (#sigma^{2}_{#eta #eta} + #sigma^{2}_{#phi #phi})");
+ outputContainer->Add(fhMCESphericity[i]);
- }
+ for(Int_t ie = 0; ie < 7; ie++)
+ {
+ fhMCDispEtaDispPhi[ie][i] = new TH2F (Form("hMCDispEtaDispPhi_EBin%d_MC%s",ie,pname[i].Data()),
+ Form("cluster from %s : #sigma^{2}_{#phi #phi} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pname[i].Data(),bin[ie],bin[ie+1]),
+ ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
+ fhMCDispEtaDispPhi[ie][i]->SetXTitle("#sigma^{2}_{#eta #eta}");
+ fhMCDispEtaDispPhi[ie][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhMCDispEtaDispPhi[ie][i]);
+
+ fhMCLambda0DispEta[ie][i] = new TH2F (Form("hMCLambda0DispEta_EBin%d_MC%s",ie,pname[i].Data()),
+ Form("cluster from %s : #lambda^{2}_{0} vs #sigma^{2}_{#eta #eta} for %d < E < %d GeV",pname[i].Data(),bin[ie],bin[ie+1]),
+ ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
+ fhMCLambda0DispEta[ie][i]->SetXTitle("#lambda^{2}_{0}");
+ fhMCLambda0DispEta[ie][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhMCLambda0DispEta[ie][i]);
+
+ fhMCLambda0DispPhi[ie][i] = new TH2F (Form("hMCLambda0DispPhi_EBin%d_MC%s",ie,pname[i].Data()),
+ Form("cluster from %s :#lambda^{2}_{0} vs #sigma^{2}_{#phi #phi} for %d < E < %d GeV",pname[i].Data(),bin[ie],bin[ie+1]),
+ ssbins,ssmin,ssmax , ssbins,ssmin,ssmax);
+ fhMCLambda0DispPhi[ie][i]->SetXTitle("#lambda^{2}_{0}");
+ fhMCLambda0DispPhi[ie][i]->SetYTitle("#sigma^{2}_{#phi #phi}");
+ outputContainer->Add(fhMCLambda0DispPhi[ie][i]);
+
+ }
+ }
}
fhEMCLambda0FracMaxCellCut[i] = new TH2F(Form("hELambda0FracMaxCellCut_MC%s",pname[i].Data()),
}//Histos with MC
- if(fAnaType==kSSCalo && fFillSelectClHisto )
+ if(fAnaType==kSSCalo && fFillSelectClHisto && !fFillOnlySimpleSSHisto )
{
fhAsymmetryE = new TH2F ("hAsymmetryE","A = ( E1 - E2 ) / ( E1 + E2 ) vs E",
//Analysis types
enum anaTypes {kIMCalo, kSSCalo, kIMCaloTracks};
- anaTypes GetAnalysisType() const { return fAnaType ; }
- void SetAnalysisType(anaTypes ana) { fAnaType = ana ; }
+ anaTypes GetAnalysisType() const { return fAnaType ; }
+ void SetAnalysisType(anaTypes ana) { fAnaType = ana ; }
- TString GetInputAODGammaConvName() const { return fInputAODGammaConvName ; }
- void SetInputAODGammaConvName(TString name) { fInputAODGammaConvName = name ; }
+ TString GetInputAODGammaConvName() const { return fInputAODGammaConvName ; }
+ void SetInputAODGammaConvName(TString name) { fInputAODGammaConvName = name ; }
//Only for pi0 SS identification case
- void SetCalorimeter(TString & det) { fCalorimeter = det ; }
+ void SetCalorimeter(TString & det) { fCalorimeter = det ; }
void SetMinDistanceToBadChannel(Float_t m1, Float_t m2, Float_t m3) {
fMinDist = m1; fMinDist2 = m2; fMinDist3 = m3 ; }
void SetTimeCut(Double_t min, Double_t max) { fTimeCutMin = min;
- fTimeCutMax = max ; }
- Double_t GetTimeCutMin() const { return fTimeCutMin ; }
- Double_t GetTimeCutMax() const { return fTimeCutMax ; }
+ fTimeCutMax = max ; }
+ Double_t GetTimeCutMin() const { return fTimeCutMin ; }
+ Double_t GetTimeCutMax() const { return fTimeCutMax ; }
+
+ void SwitchOnFillWeightHistograms() { fFillWeightHistograms = kTRUE ; }
+ void SwitchOffFillWeightHistograms() { fFillWeightHistograms = kFALSE ; }
+
+ void SwitchOnTMHistoFill() { fFillTMHisto = kTRUE ; }
+ void SwitchOffTMHistoFill() { fFillTMHisto = kFALSE ; }
- void SwitchOnFillWeightHistograms() { fFillWeightHistograms = kTRUE ; }
- void SwitchOffFillWeightHistograms() { fFillWeightHistograms = kFALSE ; }
+ void SwitchOnSelectedClusterHistoFill() { fFillSelectClHisto = kTRUE ; }
+ void SwitchOffSelectedClusterHistoFill() { fFillSelectClHisto = kFALSE ; }
- void SwitchOnTMHistoFill() { fFillTMHisto = kTRUE ; }
- void SwitchOffTMHistoFill() { fFillTMHisto = kFALSE ; }
+ void SwitchOnOnlySimpleSSHistoFill() { fFillOnlySimpleSSHisto = kTRUE ; }
+ void SwitchOffOnlySimpleHistoFill() { fFillOnlySimpleSSHisto = kFALSE ; }
- void SwitchOnSelectedClusterHistoFill() { fFillSelectClHisto = kTRUE ; }
- void SwitchOffSelectedClusterHistoFill() { fFillSelectClHisto = kFALSE ; }
//For histograms
enum mcTypes { kmcPhoton = 0, kmcConversion = 1, kmcPi0 = 2,
Bool_t fFillWeightHistograms ; // Fill weigth histograms
Bool_t fFillTMHisto; // Fill track matching plots
Bool_t fFillSelectClHisto; // Fill selected cluster histograms
+ Bool_t fFillOnlySimpleSSHisto; // Fill selected cluster histograms, selected SS histograms
//Only for combination of calorimeter and conversion photons, kIMCaloTracks
TString fInputAODGammaConvName; // Name of AOD branch with conversion photons
AliAnaPi0EbE( const AliAnaPi0EbE & pi0ebe) ; // cpy ctor
AliAnaPi0EbE & operator = (const AliAnaPi0EbE & pi0ebe) ; // cpy assignment
- ClassDef(AliAnaPi0EbE,18)
+ ClassDef(AliAnaPi0EbE,19)
} ;