+//_______________________________________________________________________________
+void AliPHOSCorrelations::SelectTriggerPi0ME()
+{
+ const Int_t nPHOS=fCaloPhotonsPHOS->GetEntriesFast() ;
+ for(Int_t i1=0; i1 < nPHOS-1; i1++)
+ {
+ AliCaloPhoton * ph1=(AliCaloPhoton*)fCaloPhotonsPHOS->At(i1) ;
+ for (Int_t i2=i1+1; i2<nPHOS; i2++)
+ {
+ AliCaloPhoton * ph2=(AliCaloPhoton*)fCaloPhotonsPHOS->At(i2) ;
+ TLorentzVector p12 = *ph1 + *ph2;
+
+ Double_t phiTrigger=p12.Phi() ;
+ Double_t etaTrigger=p12.Eta() ;
+
+ Double_t m=p12.M() ;
+ Double_t pt=p12.Pt() ;
+ Double_t eff = 1./GetEfficiency(pt);
+ int mod1 = ph1->Module() ;
+ int mod2 = ph2->Module() ;
+
+ FillHistogram("clu_phieta",phiTrigger,etaTrigger);
+ FillHistogram("clusingle_phieta",ph1->Phi(), ph1->Eta());
+ FillHistogram("clusingle_phieta",ph2->Phi(), ph2->Eta());
+
+
+ FillHistogram("all_mpt",m, pt);
+ FillHistogram("all_mpt_left",m, pt);
+ FillHistogram("all_mpt_right",m, pt);
+
+ FillHistogram("all_mpt_eff",m, pt, eff);
+ FillHistogram("all_mpt_left_eff",m, pt, eff);
+ FillHistogram("all_mpt_right_eff",m, pt, eff);
+
+ if ( ph1->IsCPVOK() && ph2->IsCPVOK() )
+ {
+ FillHistogram("cpv_mpt",m, pt);
+ FillHistogram("cpv_mpt_left",m, pt);
+ FillHistogram("cpv_mpt_right",m, pt);
+
+ FillHistogram("cpv_mpt_eff",m, pt, eff);
+ FillHistogram("cpv_mpt_left_eff",m, pt, eff);
+ FillHistogram("cpv_mpt_right_eff",m, pt, eff);
+ }
+
+ if ( ph1->IsDispOK() && ph2->IsDispOK() )
+ {
+ FillHistogram("disp_mpt",m, pt);
+ FillHistogram("disp_mpt_left",m, pt);
+ FillHistogram("disp_mpt_right",m, pt);
+
+ FillHistogram("disp_mpt_eff",m, pt, eff);
+ FillHistogram("disp_mpt_left_eff",m, pt, eff);
+ FillHistogram("disp_mpt_right_eff",m, pt, eff);
+ if ( ph1->IsCPVOK() && ph2->IsCPVOK() )
+ {
+ FillHistogram("both_mpt",m, pt);
+ FillHistogram("both_mpt_left",m, pt);
+ FillHistogram("both_mpt_right",m, pt);
+
+ FillHistogram("both_mpt_eff",m, pt, eff);
+ FillHistogram("both_mpt_left_eff",m, pt, eff);
+ FillHistogram("both_mpt_right_eff",m, pt, eff);
+ if(mod1 == mod2) // for each module
+ {
+ FillHistogram(Form("both%d_mpt",mod1),m, pt);
+ FillHistogram(Form("both%d_mpt_eff",mod1),m, pt, eff);
+ }
+ }
+ }
+
+ if(!TestMass(m,pt)) continue;
+
+ Int_t modCase = GetModCase(mod1, mod2);
+
+ //Now we choosing most energetic pi0.
+ TestPi0ME(kPidAll, p12, modCase);
+ if ( ph1->IsCPVOK() && ph2->IsCPVOK() )
+ TestPi0ME(kPidCPV, p12, modCase);
+ if ( ph1->IsDispOK() && ph2->IsDispOK() )
+ {
+ TestPi0ME(kPidDisp, p12, modCase);
+ if ( ph1->IsCPVOK() && ph2->IsCPVOK() )
+ TestPi0ME(kPidBoth, p12, modCase);
+ }
+ }
+ }
+}
+