mcWeight = GetMCweightEta(mcMompT);
}
- // access grand parent pi0->g->e
+ // access grand parent
TParticle* particle_parent = stack->Particle(parentlabel); // get parent pointer
- if(particle_parent->GetFirstMother()>-1 && parentPID==22 && fabs(mcpid)==11) // get grand parent g->e
+ //if(particle_parent->GetFirstMother()>-1 && parentPID==22 && fabs(mcpid)==11) // get grand parent g->e
+ if(particle_parent->GetFirstMother()>-1 && (parentPID==22 || parentPID==111) && fabs(mcpid)==11) // get grand parent g->e
{
//int grand_parentPID = stack->Particle(particle_parent->GetFirstMother())->GetPdgCode();
//double pTtmp = stack->Particle(particle_parent->GetFirstMother())->Pt();
FindMother(particle_grand, grand2_parentlabel, grand2_parentPID);
if(grand2_parentPID==221)
{
+ //cout << "find Eta->e " << endl;
double mcGrandpT2 = stack->Particle(grand2_parentlabel)->Pt();
mcOrgEta = kTRUE;
mcWeight = GetMCweight(mcGrandpT2);
+ mcMompT = mcGrandpT2;
}
else
{
+ //cout << "find pi0->e " << endl;
mcOrgPi0 = kTRUE;
mcWeight = GetMCweight(mcGrandpT);
+ mcMompT = mcGrandpT;
}
}
+
if(grand_parentPID==221 && mcGrandpT>0.0)
{
+ //cout << "find Eta->e " << endl;
mcOrgEta = kTRUE;
+ mcOrgPi0 = kFALSE;
mcWeight = GetMCweightEta(mcGrandpT);
+ mcMompT = mcGrandpT;
}
}
}
if(fabs(mcpid)==11 && mcPho)mcele= 3.;
}
+ //cout << "Pi0 = " << mcOrgPi0 << " ; Eta = " << mcOrgEta << endl;
//printf("weight = %f\n",mcWeight);
if(TMath::Abs(track->Eta())>0.6) continue;
if(fTPCnSigma>-1.5 && fTPCnSigma<3.0)
{
- SelectPhotonicElectron(iTracks,cent,track,fFlagPhotonicElec,fFlagConvinatElec,fTPCnSigma,m20,eop,mcele,mcWeight,iHijing);
+ SelectPhotonicElectron(iTracks,cent,track,fFlagPhotonicElec,fFlagConvinatElec,fTPCnSigma,m20,eop,mcele,mcWeight,iHijing,mcOrgPi0,mcOrgEta);
}
if(fFlagPhotonicElec)oppstatus = 1.0;
if(fFlagConvinatElec)oppstatus = 2.0;
if(iHijing==1)mcWeight = 1.0;
if(mcOrgPi0)
{
- fIncpTMCM20pho_pi0e->Fill(phoval,mcWeight);
- if(fFlagPhotonicElec) fPhoElecPtMCM20_pi0e->Fill(phoval,mcWeight);
- if(fFlagConvinatElec) fSameElecPtMCM20_pi0e->Fill(phoval,mcWeight);
+ //fIncpTMCM20pho_pi0e->Fill(phoval,mcWeight);
+ //if(fFlagPhotonicElec) fPhoElecPtMCM20_pi0e->Fill(phoval,mcWeight);
+ //if(fFlagConvinatElec) fSameElecPtMCM20_pi0e->Fill(phoval,mcWeight);
+ fIncpTMCM20pho_pi0e->Fill(phoval);
+ if(fFlagPhotonicElec) fPhoElecPtMCM20_pi0e->Fill(phoval);
+ if(fFlagConvinatElec) fSameElecPtMCM20_pi0e->Fill(phoval);
}
if(mcOrgEta)
{
- fIncpTMCM20pho_eta->Fill(phoval,mcWeight);
- if(fFlagPhotonicElec) fPhoElecPtMCM20_eta->Fill(phoval,mcWeight);
- if(fFlagConvinatElec) fSameElecPtMCM20_eta->Fill(phoval,mcWeight);
+ //fIncpTMCM20pho_eta->Fill(phoval,mcWeight);
+ //if(fFlagPhotonicElec) fPhoElecPtMCM20_eta->Fill(phoval,mcWeight);
+ //if(fFlagConvinatElec) fSameElecPtMCM20_eta->Fill(phoval,mcWeight);
+ fIncpTMCM20pho_eta->Fill(phoval);
+ if(fFlagPhotonicElec) fPhoElecPtMCM20_eta->Fill(phoval);
+ if(fFlagConvinatElec) fSameElecPtMCM20_eta->Fill(phoval);
}
// --- eta
}
fIncpTMCM20hfeCheck = new TH2F("fIncpTMCM20hfeCheck","MC HFE pid electro vs. centrality with M20 Check",200,0,100,100,0,50);
fOutputList->Add(fIncpTMCM20hfeCheck);
- Int_t nBinspho2[5] = { 200, 100, 7, 3, 100};
+ Int_t nBinspho2[5] = { 200, 100, 7, 3, 700};
Double_t minpho2[5] = { 0., 0., -2.5, -0.5, 0.};
- Double_t maxpho2[5] = {100., 50., 4.5, 2.5, 50.};
+ Double_t maxpho2[5] = {100., 50., 4.5, 2.5, 70.};
fIncpTMCpho = new THnSparseD("fIncpTMCpho","MC Pho pid electro vs. centrality",5,nBinspho2,minpho2,maxpho2);
fOutputList->Add(fIncpTMCpho);
//_________________________________________
//void AliAnalysisTaskHFECal::SelectPhotonicElectron(Int_t itrack, Double_t cent, AliESDtrack *track, Bool_t &fFlagPhotonicElec)
//void AliAnalysisTaskHFECal::SelectPhotonicElectron(Int_t itrack, Double_t cent, AliESDtrack *track, Bool_t &fFlagPhotonicElec, Bool_t &fFlagConvinatElec, Double_t nSig)
-void AliAnalysisTaskHFECal::SelectPhotonicElectron(Int_t itrack, Double_t cent, AliESDtrack *track, Bool_t &fFlagPhotonicElec, Bool_t &fFlagConvinatElec, Double_t nSig, Double_t shower, Double_t ep, Double_t mce, Double_t w, Int_t ibgevent)
+void AliAnalysisTaskHFECal::SelectPhotonicElectron(Int_t itrack, Double_t cent, AliESDtrack *track, Bool_t &fFlagPhotonicElec, Bool_t &fFlagConvinatElec, Double_t nSig, Double_t shower, Double_t ep, Double_t mce, Double_t w, Int_t ibgevent, Bool_t tagpi0, Bool_t tageta)
{
//Identify non-heavy flavour electrons using Invariant mass method
if(w>0.0)
{
- if(fFlagLS && ibgevent==0 && jbgevent==0) fInvmassLSmc0->Fill(ptPrim,mass,w);
- if(fFlagULS && ibgevent==0 && jbgevent==0) fInvmassULSmc0->Fill(ptPrim,mass,w);
- if(fFlagLS && ibgevent==0 && jbgevent==0) fInvmassLSmc1->Fill(ptPrim,mass);
- if(fFlagULS && ibgevent==0 && jbgevent==0) fInvmassULSmc1->Fill(ptPrim,mass);
- if(fFlagLS && ibgevent==0 && jbgevent==0 && (p1==p2)) fInvmassLSmc2->Fill(ptPrim,mass,w);
- if(fFlagULS && ibgevent==0 && jbgevent==0 && (p1==p2)) fInvmassULSmc2->Fill(ptPrim,mass,w);
- if(fFlagLS && ibgevent==0 && jbgevent==0 && (p1==p2)) fInvmassLSmc3->Fill(ptPrim,mass);
- if(fFlagULS && ibgevent==0 && jbgevent==0 && (p1==p2)) fInvmassULSmc3->Fill(ptPrim,mass);
+ //cout << "tagpi0 = " << tagpi0 << " ; tageta = " << tageta << endl;
+ if(fFlagLS && ibgevent==0 && jbgevent==0 && tagpi0) fInvmassLSmc0->Fill(ptPrim,mass,w);
+ if(fFlagULS && ibgevent==0 && jbgevent==0 && tagpi0) fInvmassULSmc0->Fill(ptPrim,mass,w);
+ if(fFlagLS && ibgevent==0 && jbgevent==0 && tageta) fInvmassLSmc1->Fill(ptPrim,mass,w);
+ if(fFlagULS && ibgevent==0 && jbgevent==0 && tageta) fInvmassULSmc1->Fill(ptPrim,mass,w);
+ if(fFlagLS && ibgevent==0 && jbgevent==0 && (p1==p2) && tagpi0) fInvmassLSmc2->Fill(ptPrim,mass,w);
+ if(fFlagULS && ibgevent==0 && jbgevent==0 && (p1==p2) && tagpi0) fInvmassULSmc2->Fill(ptPrim,mass,w);
+ if(fFlagLS && ibgevent==0 && jbgevent==0 && (p1==p2) && tageta) fInvmassLSmc3->Fill(ptPrim,mass,w);
+ if(fFlagULS && ibgevent==0 && jbgevent==0 && (p1==p2) && tageta) fInvmassULSmc3->Fill(ptPrim,mass,w);
}
if(mass<fInvmassCut && fFlagULS && !flagPhotonicElec && (ibgevent==jbgevent)){
//if(mass<fInvmassCut && fFlagULS && !flagPhotonicElec && (p1==p2)){ <--- only MC train (55,56) v5-03-68-AN & 69 for check
label = part->GetFirstMother();
pid = stack->Particle(label)->GetPdgCode();
}
- //cout << "Find Mother : label = " << label << " ; pid" << pid << endl;
+ cout << "Find Mother : label = " << label << " ; pid" << pid << endl;
}
double AliAnalysisTaskHFECal::GetMCweight(double mcPi0pT)