AliAnaCaloTrackCorrBaseClass(),fAnaType(kIMCalo), fCalorimeter(""),
fMinDist(0.),fMinDist2(0.), fMinDist3(0.),
fNLMCutMin(-1), fNLMCutMax(10),
- fUseSplitAsyCut(kFALSE),
fTimeCutMin(-10000), fTimeCutMax(10000),
fFillPileUpHistograms(0),
fFillWeightHistograms(kFALSE), fFillTMHisto(0),
// Histograms
fhPt(0), fhE(0),
fhEEta(0), fhEPhi(0), fhEtaPhi(0),
- fhPtReject(0), fhEReject(0),
+ fhPtCentrality(), fhPtEventPlane(0),
+ fhPtReject(0), fhEReject(0),
fhEEtaReject(0), fhEPhiReject(0), fhEtaPhiReject(0),
fhMass(0), fhAsymmetry(0),
fhSelectedMass(0), fhSelectedAsymmetry(0),
// MC histos
fhMCE(), fhMCPt(),
fhMCPhi(), fhMCEta(),
- fhMCEReject(), fhMCPtReject(),
+ fhMCEReject(), fhMCPtReject(),
+ fhMCPtCentrality(),
fhMCPi0PtGenRecoFraction(0), fhMCEtaPtGenRecoFraction(0),
fhMCPi0DecayPt(0), fhMCPi0DecayPtFraction(0),
fhMCEtaDecayPt(0), fhMCEtaDecayPtFraction(0),
fhMCPt [i] = 0;
fhMCPhi [i] = 0;
fhMCEta [i] = 0;
+ fhMCPtCentrality [i] = 0;
+
fhEMCLambda0 [i] = 0;
fhEMCLambda0NoTRD [i] = 0;
fhEMCLambda0FracMaxCellCut[i]= 0;
fhEtaPhi->SetXTitle("#eta");
outputContainer->Add(fhEtaPhi) ;
+ fhPtCentrality = new TH2F("hPtCentrality","centrality vs p_{T}",nptbins,ptmin,ptmax, 100,0,100);
+ fhPtCentrality->SetYTitle("centrality");
+ fhPtCentrality->SetXTitle("p_{T}(GeV/c)");
+ outputContainer->Add(fhPtCentrality) ;
+
+ fhPtEventPlane = new TH2F("hPtEventPlane","event plane angle vs p_{T}",nptbins,ptmin,ptmax, 100,0,TMath::Pi());
+ fhPtEventPlane->SetYTitle("Event plane angle (rad)");
+ fhPtEventPlane->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhPtEventPlane) ;
+
if(fAnaType == kSSCalo)
{
fhPtReject = new TH1F("hPtReject","Number of rejected as #pi^{0} (#eta) decay",nptbins,ptmin,ptmax);
fhMCPt[i]->SetXTitle("p_{T} (GeV/c)");
outputContainer->Add(fhMCPt[i]) ;
+ fhMCPtCentrality[i] = new TH2F
+ (Form("hPtCentrality_MC%s",pname[i].Data()),
+ Form("Identified as #pi^{0} (#eta), cluster from %s",
+ ptype[i].Data()),
+ nptbins,ptmin,ptmax, 100,0,100);
+ fhMCPtCentrality[i]->SetYTitle("centrality");
+ fhMCPtCentrality[i]->SetXTitle("p_{T} (GeV/c)");
+ outputContainer->Add(fhMCPtCentrality[i]) ;
+
if(fAnaType == kSSCalo)
{
fhMCEReject[i] = new TH1F
if(label1 < 0 || label2 < 0 ) return ;
- //Int_t tag1 = GetMCAnalysisUtils()->CheckOrigin(label1, GetReader(), photon1->GetInputFileIndex());
- //Int_t tag2 = GetMCAnalysisUtils()->CheckOrigin(label2, GetReader(), photon2->GetInputFileIndex());
+ //Int_t tag1 = GetMCAnalysisUtils()->CheckOrigin(label1, GetReader());
+ //Int_t tag2 = GetMCAnalysisUtils()->CheckOrigin(label2, GetReader());
Int_t tag1 = photon1->GetTag();
Int_t tag2 = photon2->GetTag();
{//&& (input > -1)){
if(label1>=0)
{
- AliAODMCParticle * mother1 = (AliAODMCParticle *) (GetReader()->GetAODMCParticles(photon1->GetInputFileIndex()))->At(label1);//photon in kine tree
+ AliAODMCParticle * mother1 = (AliAODMCParticle *) (GetReader()->GetAODMCParticles())->At(label1);//photon in kine tree
label1 = mother1->GetMother();
//mother1 = GetMCStack()->Particle(label1);//pi0
}
if(label2>=0)
{
- AliAODMCParticle * mother2 = (AliAODMCParticle *) (GetReader()->GetAODMCParticles(photon2->GetInputFileIndex()))->At(label2);//photon in kine tree
+ AliAODMCParticle * mother2 = (AliAODMCParticle *) (GetReader()->GetAODMCParticles())->At(label2);//photon in kine tree
label2 = mother2->GetMother();
//mother2 = GetMCStack()->Particle(label2);//pi0
}
if(IsDataMC())
{
Int_t label2 = photon2->GetLabel();
- if(label2 >= 0 )photon2->SetTag(GetMCAnalysisUtils()->CheckOrigin(label2, GetReader(), photon2->GetInputFileIndex()));
+ if(label2 >= 0 )photon2->SetTag(GetMCAnalysisUtils()->CheckOrigin(label2, GetReader()));
HasPairSameMCMother(photon1, photon2, label, tag) ;
}
Int_t tag = 0 ;
if(IsDataMC())
{
- tag = GetMCAnalysisUtils()->CheckOrigin(calo->GetLabels(),calo->GetNLabels(),GetReader(),0);
+ tag = GetMCAnalysisUtils()->CheckOrigin(calo->GetLabels(),calo->GetNLabels(),GetReader());
//GetMCAnalysisUtils()->CheckMultipleOrigin(calo->GetLabels(),calo->GetNLabels(), GetReader(), aodpi0.GetInputFileIndex(), tag);
if(GetDebug() > 0) printf("AliAnaPi0EbE::MakeShowerShapeIdentification() - Origin of candidate %d\n",tag);
}
printf("AliAnaPi0EbE::MakeShowerShapeIdentification() - Pi0/Eta selection cuts passed: pT %3.2f, pdg %d\n",
mom.Pt(), idPartType);
+ //Mass and asymmetry of selected pairs
fhSelectedAsymmetry->Fill(mom.E(),asy);
-
- if( fUseSplitAsyCut && GetCaloPID()->IsInPi0SplitAsymmetryRange(mom.E(),asy,nMaxima) )
- {
- if(GetDebug() > 1) printf("AliAnaPi0EbE::MakeShowerShapeIdentification() - Too large asymmetry\n");
- FillRejectedClusterHistograms(mom,tag);
- continue ;
- }
-
- //Mass of selected pairs
fhSelectedMass ->Fill(mom.E(),mass);
//-----------------------
Int_t naod = GetOutputAODBranch()->GetEntriesFast();
if(GetDebug() > 0) printf("AliAnaPi0EbE::MakeAnalysisFillHistograms() - aod branch entries %d\n", naod);
+ Float_t cen = GetEventCentrality();
+ Float_t ep = GetEventPlaneAngle();
+
for(Int_t iaod = 0; iaod < naod ; iaod++)
{
if(phi < 0) phi+=TMath::TwoPi();
Float_t eta = pi0->Eta();
- fhPt ->Fill(pt);
+ fhPt ->Fill(pt );
fhE ->Fill(ener);
fhEEta ->Fill(ener,eta);
fhEPhi ->Fill(ener,phi);
- fhEtaPhi ->Fill(eta,phi);
+ fhEtaPhi ->Fill(eta ,phi);
+ fhPtCentrality ->Fill(pt,cen) ;
+ fhPtEventPlane ->Fill(pt,ep ) ;
+
if(fFillPileUpHistograms)
{
if(GetReader()->IsPileUpFromSPD()) fhPtPi0PileUp[0]->Fill(pt);
fhMCPhi[mcIndex] ->Fill(pt,phi);
fhMCEta[mcIndex] ->Fill(pt,eta);
+ fhMCPtCentrality[mcIndex]->Fill(pt,cen);
+
if((mcIndex==kmcPhoton || mcIndex==kmcPi0 || mcIndex==kmcEta) && fAnaType==kSSCalo)
{
Float_t efracMC = 0;