fCeIsoVsEtPho(0),
fTrIsoVsEtPho(0),
fAllIsoVsEtPho(0),
+ fCeIsoVsEtPi0(0),
+ fTrIsoVsEtPi0(0),
+ fAllIsoVsEtPi0(0),
fM02EtCeIso1TM(0),
fM02EtCeIso2TM(0),
fM02EtCeIso5TM(0),
fM02EtAllIso5TM(0),
fCeIsoVsEtPhoTM(0),
fTrIsoVsEtPhoTM(0),
- fAllIsoVsEtPhoTM(0)
+ fAllIsoVsEtPhoTM(0),
+ fCeIsoVsEtPi0TM(0),
+ fTrIsoVsEtPi0TM(0),
+ fAllIsoVsEtPi0TM(0)
{
// Default constructor.
}
fCeIsoVsEtPho(0),
fTrIsoVsEtPho(0),
fAllIsoVsEtPho(0),
+ fCeIsoVsEtPi0(0),
+ fTrIsoVsEtPi0(0),
+ fAllIsoVsEtPi0(0),
fM02EtCeIso1TM(0),
fM02EtCeIso2TM(0),
fM02EtCeIso5TM(0),
fM02EtAllIso5TM(0),
fCeIsoVsEtPhoTM(0),
fTrIsoVsEtPhoTM(0),
- fAllIsoVsEtPhoTM(0)
+ fAllIsoVsEtPhoTM(0),
+ fCeIsoVsEtPi0TM(0),
+ fTrIsoVsEtPi0TM(0),
+ fAllIsoVsEtPi0TM(0)
{
// Constructor
fAllIsoVsEtPho->Sumw2();
fOutputList->Add(fAllIsoVsEtPho);
+ fCeIsoVsEtPi0 = new TH2F("fCeIsoVsEtPi0","ISO_{EMC} vs. E_{T}^{clus} (#pi^{0} selection for BG);E_{T} (GeV);ISO_{EMC}",1000,0,100,1000,-10,190);
+ fCeIsoVsEtPi0->Sumw2();
+ fOutputList->Add(fCeIsoVsEtPi0);
+
+ fTrIsoVsEtPi0 = new TH2F("fTrIsoVsEtPi0","ISO_{TRK} vs. E_{T}^{clus} (#pi^{0} selection for BG);E_{T} (GeV);ISO_{TRK}",1000,0,100,1000,-10,190);
+ fTrIsoVsEtPi0->Sumw2();
+ fOutputList->Add(fTrIsoVsEtPi0);
+
+ fAllIsoVsEtPi0 = new TH2F("fAllIsoVsEtPi0","ISO_{EMC+TRK} vs. E_{T}^{clus} (#pi^{0} selection for BG);E_{T} (GeV);ISO_{EMC+TRK}",1000,0,100,1000,-10,190);
+ fAllIsoVsEtPi0->Sumw2();
+ fOutputList->Add(fAllIsoVsEtPi0);
+
fM02EtCeIso1TM = new TH2F("fM02EtCeIso1TM","M02 vs Et for all clusters (ISO_{EMC}<1GeV);E_{T} (GeV);M02",1000,0,100,400,0,4);
fM02EtCeIso1TM->Sumw2();
fOutputList->Add(fM02EtCeIso1TM);
fAllIsoVsEtPhoTM->Sumw2();
fOutputList->Add(fAllIsoVsEtPhoTM);
+ fCeIsoVsEtPi0TM = new TH2F("fCeIsoVsEtPi0TM","ISO_{EMC} vs. E_{T}^{clus} (#pi^{0} selection for BG);E_{T} (GeV);ISO_{EMC}",1000,0,100,1000,-10,190);
+ fCeIsoVsEtPi0TM->Sumw2();
+ fOutputList->Add(fCeIsoVsEtPi0TM);
+
+ fTrIsoVsEtPi0TM = new TH2F("fTrIsoVsEtPi0TM","ISO_{TRK} vs. E_{T}^{clus} (#pi^{0} selection for BG);E_{T} (GeV);ISO_{TRK}",1000,0,100,1000,-10,190);
+ fTrIsoVsEtPi0TM->Sumw2();
+ fOutputList->Add(fTrIsoVsEtPi0TM);
+
+ fAllIsoVsEtPi0TM = new TH2F("fAllIsoVsEtPi0TM","ISO_{EMC+TRK} vs. E_{T}^{clus} (#pi^{0} selection for BG);E_{T} (GeV);ISO_{EMC+TRK}",1000,0,100,1000,-10,190);
+ fAllIsoVsEtPi0TM->Sumw2();
+ fOutputList->Add(fAllIsoVsEtPi0TM);
+
PostData(1, fOutputList);
}
Float_t ceisoue = cephiband/phibandArea*netConeArea;
Float_t trisoue = trphiband/phibandArea*netConeArea;
Float_t allisoue = allphiband/phibandArea*netConeArea;
- fM02Et->Fill(Et, c->GetM02());
- if(ceiso-cecore<1)
- fM02EtCeIso1->Fill(Et, c->GetM02());
- if(ceiso-cecore<2)
- fM02EtCeIso2->Fill(Et, c->GetM02());
- if(ceiso-cecore<5)
- fM02EtCeIso5->Fill(Et, c->GetM02());
- if(triso-trcore<1)
- fM02EtTrIso1->Fill(Et, c->GetM02());
- if(triso-trcore<2)
- fM02EtTrIso2->Fill(Et, c->GetM02());
- if(triso-trcore<5)
- fM02EtTrIso5->Fill(Et, c->GetM02());
- if(alliso-allcore<1)
- fM02EtAllIso1->Fill(Et, c->GetM02());
- if(alliso-allcore<2)
- fM02EtAllIso2->Fill(Et, c->GetM02());
- if(alliso-allcore<5)
- fM02EtAllIso5->Fill(Et, c->GetM02());
- if(c->GetM02()>0.1 && c->GetM02()<0.3){
- fCeIsoVsEtPho->Fill(Et, ceiso - cecore - ceisoue);
- fTrIsoVsEtPho->Fill(Et, triso - trcore - trisoue);
- fAllIsoVsEtPho->Fill(Et, alliso - allcore - allisoue);
- }
Double_t dR = TMath::Sqrt(pow(c->GetTrackDx(),2)+pow(c->GetTrackDz(),2));
- if(dR<0.014){
+ Double_t M02u;
+ if(Et<12)
+ M02u = 0.02486*Et*Et - 0.7289*Et + 6.266;
+ else
+ M02u = 14.32/Et - 0.09863;
+ if(M02u<0.65)
+ M02u = 0.65;
+ Double_t M02l = 12.88/Et - 0.3194;
+ if(M02l<0.4)
+ M02l = 0.4;
+ if(dR>0.028){
+ fM02Et->Fill(Et, c->GetM02());
+ if(ceiso-cecore<1)
+ fM02EtCeIso1->Fill(Et, c->GetM02());
+ if(ceiso-cecore<2)
+ fM02EtCeIso2->Fill(Et, c->GetM02());
+ if(ceiso-cecore<5)
+ fM02EtCeIso5->Fill(Et, c->GetM02());
+ if(triso-trcore<1)
+ fM02EtTrIso1->Fill(Et, c->GetM02());
+ if(triso-trcore<2)
+ fM02EtTrIso2->Fill(Et, c->GetM02());
+ if(triso-trcore<5)
+ fM02EtTrIso5->Fill(Et, c->GetM02());
+ if(alliso-allcore<1)
+ fM02EtAllIso1->Fill(Et, c->GetM02());
+ if(alliso-allcore<2)
+ fM02EtAllIso2->Fill(Et, c->GetM02());
+ if(alliso-allcore<5)
+ fM02EtAllIso5->Fill(Et, c->GetM02());
+ if(c->GetM02()>0.1 && c->GetM02()<0.3){
+ fCeIsoVsEtPho->Fill(Et, ceiso - cecore - ceisoue);
+ fTrIsoVsEtPho->Fill(Et, triso - trcore - trisoue);
+ fAllIsoVsEtPho->Fill(Et, alliso - allcore - allisoue);
+ }
+ if(c->GetM02()>M02l && c->GetM02()<M02u){
+ fCeIsoVsEtPi0->Fill(Et, ceiso - cecore - ceisoue);
+ fTrIsoVsEtPi0->Fill(Et, triso - trcore - trisoue);
+ fAllIsoVsEtPi0->Fill(Et, alliso - allcore - allisoue);
+ }
+ }
+ else
+ {
fM02EtTM->Fill(Et, c->GetM02());
if(ceiso-cecore<1)
fM02EtCeIso1TM->Fill(Et, c->GetM02());
if(alliso-allcore<5)
fM02EtAllIso5TM->Fill(Et, c->GetM02());
if(c->GetM02()>0.1 && c->GetM02()<0.3){
- fCeIsoVsEtPhoTM->Fill(Et, ceiso);
- fTrIsoVsEtPhoTM->Fill(Et, triso);
- fAllIsoVsEtPhoTM->Fill(Et, alliso);
+ fCeIsoVsEtPhoTM->Fill(Et, ceiso - cecore - ceisoue);
+ fTrIsoVsEtPhoTM->Fill(Et, triso - trcore - trisoue);
+ fAllIsoVsEtPhoTM->Fill(Et, alliso - allcore - allisoue);
+ }
+ if(c->GetM02()>M02l && c->GetM02()<M02u){
+ fCeIsoVsEtPi0TM->Fill(Et, ceiso - cecore - ceisoue);
+ fTrIsoVsEtPi0TM->Fill(Et, triso - trcore - trisoue);
+ fAllIsoVsEtPi0TM->Fill(Et, alliso - allcore - allisoue);
}
}
if(c->E()>maxE)
TH2F *fM02EtAllIso1; //!M02 vs Et for clusters with isolation total Et<1GeV
TH2F *fM02EtAllIso2; //!M02 vs Et for clusters with isolation total Et<2GeV
TH2F *fM02EtAllIso5; //!M02 vs Et for clusters with isolation total Et<5GeV
- TH2F *fCeIsoVsEtPho; //!Neutral isolation Et vs. cluster Et, 0.05<M02<0.30
- TH2F *fTrIsoVsEtPho; //!Charged isolation Et vs. cluster Et, 0.05<M02<0.30
- TH2F *fAllIsoVsEtPho; //!Total isolation Et vs. cluster Et, 0.05<M02<0.30
+ TH2F *fCeIsoVsEtPho; //!Neutral isolation Et vs. cluster Et, 0.10<M02<0.30
+ TH2F *fTrIsoVsEtPho; //!Charged isolation Et vs. cluster Et, 0.10<M02<0.30
+ TH2F *fAllIsoVsEtPho; //!Total isolation Et vs. cluster Et, 0.10<M02<0.30
+ TH2F *fCeIsoVsEtPi0; //!Neutral isolation Et vs. cluster Et, pi0 selection (BG)
+ TH2F *fTrIsoVsEtPi0; //!Charged isolation Et vs. cluster Et, pi0 selection (BG)
+ TH2F *fAllIsoVsEtPi0; //!Total isolation Et vs. cluster Et, pi0 selection (BG)
//track matched stuff
TH2F *fM02EtCeIso1TM; //!Track-matched M02 vs Et for clusters with isolation neutral Et<1GeV
TH2F *fM02EtCeIso2TM; //!Track-matched M02 vs Et for clusters with isolation neutral Et<2GeV
TH2F *fM02EtAllIso1TM; //!Track-matched M02 vs Et for clusters with isolation total Et<1GeV
TH2F *fM02EtAllIso2TM; //!Track-matched M02 vs Et for clusters with isolation total Et<2GeV
TH2F *fM02EtAllIso5TM; //!Track-matched M02 vs Et for clusters with isolation total Et<5GeV
- TH2F *fCeIsoVsEtPhoTM; //!Track-matched Neutral isolation Et vs. cluster Et, 0.05<M02<0.30
- TH2F *fTrIsoVsEtPhoTM; //!Track-matched Charged isolation Et vs. cluster Et, 0.05<M02<0.30
- TH2F *fAllIsoVsEtPhoTM; //!Track-matched Total isolation Et vs. cluster Et, 0.05<M02<0.30
+ TH2F *fCeIsoVsEtPhoTM; //!Track-matched Neutral isolation Et vs. cluster Et, 0.10<M02<0.30
+ TH2F *fTrIsoVsEtPhoTM; //!Track-matched Charged isolation Et vs. cluster Et, 0.10<M02<0.30
+ TH2F *fAllIsoVsEtPhoTM; //!Track-matched Total isolation Et vs. cluster Et, 0.10<M02<0.30
+ TH2F *fCeIsoVsEtPi0TM; //!Track-matched Neutral isolation Et vs. cluster Et, pi0 selection (BG)
+ TH2F *fTrIsoVsEtPi0TM; //!Track-matched Charged isolation Et vs. cluster Et, pi0 selection (BG)
+ TH2F *fAllIsoVsEtPi0TM; //!Track-matched Total isolation Et vs. cluster Et, pi0 selection (BG)
AliAnalysisTaskEMCALIsoPhoton(const AliAnalysisTaskEMCALIsoPhoton&); // not implemented
AliAnalysisTaskEMCALIsoPhoton& operator=(const AliAnalysisTaskEMCALIsoPhoton&); // not implemented
Double_t cos2phiV0C = TMath::Cos(2.*(dphiV0C));
Double_t cos2phiTPC = TMath::Cos(2.*(dphiTPC));
- dphiV0 = TVector2::Phi_0_2pi(dphiV0); if(dphiV0 >TMath::Pi()) dphiV0 -= TMath::Pi();
- dphiV0A = TVector2::Phi_0_2pi(dphiV0A); if(dphiV0A >TMath::Pi()) dphiV0A -= TMath::Pi();
- dphiV0C = TVector2::Phi_0_2pi(dphiV0C); if(dphiV0C >TMath::Pi()) dphiV0C -= TMath::Pi();
- dphiTPC = TVector2::Phi_0_2pi(dphiTPC); if(dphiTPC >TMath::Pi()) dphiTPC -= TMath::Pi();
+ dphiV0 = TVector2::Phi_0_2pi(dphiV0); if(dphiV0 >TMath::Pi()) dphiV0 -= TMath::Pi();
+ dphiV0A = TVector2::Phi_0_2pi(dphiV0A); if(dphiV0A >TMath::Pi()) dphiV0A -= TMath::Pi();
+ dphiV0C = TVector2::Phi_0_2pi(dphiV0C); if(dphiV0C >TMath::Pi()) dphiV0C -= TMath::Pi();
+ dphiTPC = TVector2::Phi_0_2pi(dphiTPC); if(dphiTPC >TMath::Pi()) dphiTPC -= TMath::Pi();
//cout<<"cos2V0: "<<cos2phiV0<<" cos2V0A: "<<cos2phiV0A<<" cos2V0C: "<<cos2phiV0C<<endl;
//cout<<mass<<" "<<pt<<" "<<phi<<" "<<endl;
}
const AliESDVertex* fvertex = fESD->GetPrimaryVertex();
- if(!(fvertex->GetStatus())) return;
- // if vertex is from spd vertexZ, require more stringent cut
- if (fvertex->IsFromVertexerZ()) {
- if (fvertex->GetDispersion()>0.02 || fvertex->GetZRes()>0.25 ) return; // bad vertex from VertexerZ
- }
+ if(TMath::Abs(fvertex->GetZ())>10.)
+ return;
Double_t vertex[3] = {fvertex->GetX(), fvertex->GetY(), fvertex->GetZ()};
if(fESD->GetCentrality()) {
if(fEPV0r<-2. || fEPV0Ar<-2. || fEPV0Cr<-2.) return;
}
if(!fcheckEP2sub){
- if(fEPV0A<-2. || fEPV0C<-2. || fEPV0AR4<-2. || fEPV0AR7<-2. || fEPV0CR0<-2. || fEPV0CR3<-2.) return;
+ if(fEPV0A<-2. || fEPV0C<-2. || fEPV0AR4<-2. || fEPV0AR7<-2. || fEPV0CR0<-2. || fEPV0CR3<-2. || fEPTPC<-2.) return;
}
fEPV0 = TVector2::Phi_0_2pi(fEPV0); if(fEPV0>TMath::Pi()) fEPV0 = fEPV0 - TMath::Pi();
fEPV0r = TVector2::Phi_0_2pi(fEPV0r); if(fEPV0r>TMath::Pi()) fEPV0r = fEPV0r - TMath::Pi();