]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/GammaConv/AliAnalysisTaskGammaConvV1.cxx
Fixed new version
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnalysisTaskGammaConvV1.cxx
index 333d4ee691b437f4a3d54c8a769efcc6afa5c066..a83eaf3cf33c63b181e6d0e66f8c743cbb6e4e06 100644 (file)
@@ -86,6 +86,7 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(): AliAnalysisTaskSE(),
        hESDConvGammaPt(NULL),
        hESDConvGammaR(NULL),
        hESDConvGammaEta(NULL),
+       hESDConvGammaPhi(NULL),
        tESDConvGammaPtDcazCat(NULL),
        fPtGamma(0),
        fDCAzPhoton(0),
@@ -124,6 +125,8 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(): AliAnalysisTaskSE(),
        hMCEtaInAccPt(NULL),
        hMCPi0PtY(NULL),
        hMCEtaPtY(NULL),
+       hMCPi0PtAlpha(NULL),
+       hMCEtaPtAlpha(NULL),
        hMCK0sPt(NULL),
        hMCK0sWOWeightPt(NULL),
        hMCK0sPtY(NULL),
@@ -154,6 +157,9 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(): AliAnalysisTaskSE(),
        hESDTrueEtaPtOpenAngle(NULL),
        hESDTrueMotherDalitzInvMassPt(NULL),
        hESDTrueConvGammaPt(NULL),
+       hESDTrueConvGammaR(NULL),
+       hESDTrueConvGammaPtMC(NULL),
+       hESDTrueConvGammaRMC(NULL),
        hESDTrueConvGammaEta(NULL),
        hESDCombinatorialPt(NULL),
        hESDTruePrimaryConvGammaPt(NULL),
@@ -230,6 +236,7 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(const char *name):
        hESDConvGammaPt(NULL),
        hESDConvGammaR(NULL),
        hESDConvGammaEta(NULL),
+       hESDConvGammaPhi(NULL),
        tESDConvGammaPtDcazCat(NULL),
        fPtGamma(0),
        fDCAzPhoton(0),
@@ -268,6 +275,8 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(const char *name):
        hMCEtaInAccPt(NULL),
        hMCPi0PtY(NULL),
        hMCEtaPtY(NULL),
+       hMCPi0PtAlpha(NULL),
+       hMCEtaPtAlpha(NULL),
        hMCK0sPt(NULL),
        hMCK0sWOWeightPt(NULL),
        hMCK0sPtY(NULL),
@@ -298,6 +307,9 @@ AliAnalysisTaskGammaConvV1::AliAnalysisTaskGammaConvV1(const char *name):
        hESDTrueEtaPtOpenAngle(NULL),
        hESDTrueMotherDalitzInvMassPt(NULL),
        hESDTrueConvGammaPt(NULL),
+       hESDTrueConvGammaR(NULL),
+       hESDTrueConvGammaPtMC(NULL),
+       hESDTrueConvGammaRMC(NULL),
        hESDTrueConvGammaEta(NULL),
        hESDCombinatorialPt(NULL),
        hESDTruePrimaryConvGammaPt(NULL),
@@ -417,7 +429,8 @@ void AliAnalysisTaskGammaConvV1::InitBack(){
                                fBGHandler[iCut] = new AliGammaConversionAODBGHandler(
                                                                                                                                        collisionSystem,centMin,centMax,
                                                                                                                                        ((AliConversionMesonCuts*)fMesonCutArray->At(iCut))->GetNumberOfBGEvents(),
-                                                                                                                                       ((AliConversionMesonCuts*)fMesonCutArray->At(iCut))->UseTrackMultiplicity());
+                                                                                                                                       ((AliConversionMesonCuts*)fMesonCutArray->At(iCut))->UseTrackMultiplicity(),
+                                                                                                                                       0,8,5);
                                fBGHandlerRP[iCut] = NULL;
                        } else {
                                fBGHandlerRP[iCut] = new AliConversionAODBGHandlerRP(
@@ -464,6 +477,7 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects(){
        if (fDoPhotonQA > 0){
                hESDConvGammaR = new TH1F*[fnCuts];
                hESDConvGammaEta = new TH1F*[fnCuts];
+               hESDConvGammaPhi = new TH1F*[fnCuts];
        } 
        
        if(fDoMesonAnalysis){
@@ -500,11 +514,11 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects(){
                fESDList[iCut]->SetOwner(kTRUE);
                fCutFolder[iCut]->Add(fESDList[iCut]);
 
-               hNEvents[iCut] = new TH1I("NEvents","NEvents",9,-0.5,8.5);
+        hNEvents[iCut] = new TH1I("NEvents","NEvents",10,-0.5,9.5);
                hNEvents[iCut]->GetXaxis()->SetBinLabel(1,"Accepted");
                hNEvents[iCut]->GetXaxis()->SetBinLabel(2,"Centrality");
                hNEvents[iCut]->GetXaxis()->SetBinLabel(3,"Missing MC");
-               if (((AliConvEventCuts*)fEventCutArray->At(iCut))->IsSpecialTrigger() > 3 ){
+        if (((AliConvEventCuts*)fEventCutArray->At(iCut))->IsSpecialTrigger() > 1 ){
                        TString TriggerNames = "Not Trigger: ";
                        TriggerNames = TriggerNames+ ( (AliConvEventCuts*)fEventCutArray->At(iCut))->GetSpecialTriggerName();
                        hNEvents[iCut]->GetXaxis()->SetBinLabel(4,TriggerNames.Data());
@@ -516,6 +530,7 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects(){
                hNEvents[iCut]->GetXaxis()->SetBinLabel(7,"Pile-Up");
                hNEvents[iCut]->GetXaxis()->SetBinLabel(8,"no SDD");
                hNEvents[iCut]->GetXaxis()->SetBinLabel(9,"no V0AND");
+        hNEvents[iCut]->GetXaxis()->SetBinLabel(10,"EMCAL problem");
                fESDList[iCut]->Add(hNEvents[iCut]);
                
                if(fIsHeavyIon == 1) hNGoodESDTracks[iCut] = new TH1I("GoodESDTracks","GoodESDTracks",4000,0,4000);
@@ -565,6 +580,8 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects(){
                        fESDList[iCut]->Add(hESDConvGammaR[iCut]);
                        hESDConvGammaEta[iCut] = new TH1F("ESD_ConvGamma_Eta","ESD_ConvGamma_Eta",2000,-2,2);
                        fESDList[iCut]->Add(hESDConvGammaEta[iCut]);
+                       hESDConvGammaPhi[iCut] = new TH1F("ESD_ConvGamma_Phi","ESD_ConvGamma_Phi",360,0,2*TMath::Pi());
+                       fESDList[iCut]->Add(hESDConvGammaPhi[iCut]);
                }
                
                if(fDoMesonAnalysis){
@@ -605,10 +622,10 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects(){
                                hESDMotherEtaPtAlpha[iCut] = new TH2F("ESD_MotherEta_Pt_Alpha","ESD_MotherEta_Pt_Alpha",150,0.03,15.,100,0,1);
                                SetLogBinningXTH2(hESDMotherEtaPtAlpha[iCut]);
                                fESDList[iCut]->Add(hESDMotherEtaPtAlpha[iCut]);
-                               hESDMotherPi0PtOpenAngle[iCut] = new TH2F("ESD_MotherPi0_Pt_OpenAngle","ESD_MotherPi0_Pt_OpenAngle",150,0.03,15.,200,0,2*TMath::Pi());            
+                hESDMotherPi0PtOpenAngle[iCut] = new TH2F("ESD_MotherPi0_Pt_OpenAngle","ESD_MotherPi0_Pt_OpenAngle",150,0.03,15.,100,0,TMath::Pi());
                                SetLogBinningXTH2(hESDMotherPi0PtOpenAngle[iCut]);
                                fESDList[iCut]->Add(hESDMotherPi0PtOpenAngle[iCut]);
-                               hESDMotherEtaPtOpenAngle[iCut] = new TH2F("ESD_MotherEta_Pt_OpenAngle","ESD_MotherEta_Pt_OpenAngle",150,0.03,15.,200,0,2*TMath::Pi());            
+                hESDMotherEtaPtOpenAngle[iCut] = new TH2F("ESD_MotherEta_Pt_OpenAngle","ESD_MotherEta_Pt_OpenAngle",150,0.03,15.,100,0,TMath::Pi());
                                SetLogBinningXTH2(hESDMotherEtaPtOpenAngle[iCut]);
                                fESDList[iCut]->Add(hESDMotherEtaPtOpenAngle[iCut]);
                        }
@@ -655,6 +672,9 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects(){
                        hMCConvGammaR = new TH1F*[fnCuts];
                        hMCConvGammaEta = new TH1F*[fnCuts];
                hESDTrueConvGammaEta = new TH1F*[fnCuts];
+               hESDTrueConvGammaR = new TH1F*[fnCuts];
+                hESDTrueConvGammaRMC = new TH1F*[fnCuts];
+                hESDTrueConvGammaPtMC = new TH1F*[fnCuts];
                }
 
                if(fDoMesonAnalysis){
@@ -677,6 +697,8 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects(){
                        if (fDoMesonQA > 0){
                                hMCPi0PtY = new TH2F*[fnCuts];
                                hMCEtaPtY = new TH2F*[fnCuts];
+                               hMCPi0PtAlpha = new TH2F*[fnCuts];
+                               hMCEtaPtAlpha = new TH2F*[fnCuts];
                                hMCK0sPt = new TH1F*[fnCuts];
                                hMCK0sWOWeightPt = new TH1F*[fnCuts];
                                hMCK0sPtY = new TH2F*[fnCuts];
@@ -767,6 +789,13 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects(){
                                        hMCEtaPtY[iCut]->Sumw2();
                                        SetLogBinningXTH2(hMCEtaPtY[iCut]);
                                        fMCList[iCut]->Add(hMCEtaPtY[iCut]);
+                                       hMCPi0PtAlpha[iCut] = new TH2F("MC_Pi0_Pt_Alpha","MC_Pi0_Pt_Alpha",150,0.03,15.,100,0,1);
+                                       SetLogBinningXTH2(hMCPi0PtAlpha[iCut]);
+                                       fMCList[iCut]->Add(hMCPi0PtAlpha[iCut]);
+                                       hMCEtaPtAlpha[iCut] = new TH2F("MC_Eta_Pt_Alpha","MC_Eta_Pt_Alpha",150,0.03,15.,100,0,1);
+                                       SetLogBinningXTH2(hMCEtaPtAlpha[iCut]);
+                                       fMCList[iCut]->Add(hMCEtaPtAlpha[iCut]);
+
                                        hMCK0sPt[iCut] = new TH1F("MC_K0s_Pt","MC_K0s_Pt",150,0,15);
                                        hMCK0sPt[iCut]->Sumw2();
                                        fMCList[iCut]->Add(hMCK0sPt[iCut]);
@@ -839,6 +868,19 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects(){
 
                        hESDTruePrimaryConvGammaESDPtMCPt[iCut] = new TH2F("ESD_TruePrimaryConvGammaESD_PtMCPt", "ESD_TruePrimaryConvGammaESD_PtMCPt",250,0,25,250,0,25);
                        fTrueList[iCut]->Add(hESDTruePrimaryConvGammaESDPtMCPt[iCut]);
+
+               
+                       if (fDoPhotonQA > 0){
+                       
+                                hESDTrueConvGammaEta[iCut] = new TH1F("ESD_TrueConvGamma_Eta","ESD_TrueConvGamma_Eta",2000,-2,2);
+                                fTrueList[iCut]->Add(hESDTrueConvGammaEta[iCut]);
+                                hESDTrueConvGammaR[iCut] = new TH1F("ESD_TrueConvGamma_R","ESD_TrueConvGamma_R",800,0,200);
+                                fTrueList[iCut]->Add(hESDTrueConvGammaR[iCut]);
+                                hESDTrueConvGammaRMC[iCut] = new TH1F("ESD_TrueConvGamma_RMC","ESD_TrueConvGamma_RMC",800,0,200);
+                                fTrueList[iCut]->Add(hESDTrueConvGammaRMC[iCut]);
+                                hESDTrueConvGammaPtMC[iCut] = new TH1F("ESD_TrueConvGamma_PtMC","ESD_TrueConvGamma_PtMC",250,0,25);
+                                fTrueList[iCut]->Add(hESDTrueConvGammaPtMC[iCut]);
+                       }
                        
                        if(fDoMesonAnalysis){
                                hESDTrueMotherInvMassPt[iCut] = new TH2F("ESD_TrueMother_InvMass_Pt","ESD_TrueMother_InvMass_Pt",800,0,0.8,250,0,25);
@@ -911,9 +953,6 @@ void AliAnalysisTaskGammaConvV1::UserCreateOutputObjects(){
                                        SetLogBinningXTH2(hESDTrueEtaPtOpenAngle[iCut]);
                                        fTrueList[iCut]->Add(hESDTrueEtaPtOpenAngle[iCut]);
 
-                                       hESDTrueConvGammaEta[iCut] = new TH1F("ESD_TrueConvGamma_Eta","ESD_TrueConvGamma_Eta",2000,-2,2);
-                                       fTrueList[iCut]->Add(hESDTrueConvGammaEta[iCut]);
-
                                }
                        }
                }
@@ -1013,7 +1052,7 @@ void AliAnalysisTaskGammaConvV1::UserExec(Option_t *)
                fiCut = iCut;
                Int_t eventNotAccepted =
                        ((AliConvEventCuts*)fEventCutArray->At(iCut))
-                       ->IsEventAcceptedByCut(fV0Reader->GetEventCuts(),fInputEvent,fMCEvent,fIsHeavyIon);
+            ->IsEventAcceptedByCut(fV0Reader->GetEventCuts(),fInputEvent,fMCEvent,fIsHeavyIon,kFALSE);
                if(eventNotAccepted){
                        // cout << "event rejected due to wrong trigger: " <<eventNotAccepted << endl;
                        hNEvents[iCut]->Fill(eventNotAccepted); // Check Centrality, PileUp, SDD and V0AND --> Not Accepted => eventQuality = 1
@@ -1150,8 +1189,9 @@ void AliAnalysisTaskGammaConvV1::ProcessPhotonCandidates()
                        if(fIsFromMBHeader){
                                hESDConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
                                if (fDoPhotonQA > 0){
-                               hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
-                               hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
+                                       hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
+                                       hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
+                                       hESDConvGammaPhi[fiCut]->Fill(PhotonCandidate->Phi());
                                }   
                        }
                        if(fIsMC){
@@ -1202,11 +1242,12 @@ void AliAnalysisTaskGammaConvV1::ProcessPhotonCandidates()
                        if(!((AliConversionPhotonCuts*)fCutArray->At(fiCut))->UseToCloseV0sCut()){ // To Colse v0s cut diabled, step two not needed
                                fGammaCandidates->Add(PhotonCandidate);
                                if(fIsFromMBHeader){
-                               hESDConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
-                               if (fDoPhotonQA > 0){
-                                       hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
-                                       hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
-                               }
+                                       hESDConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
+                                       if (fDoPhotonQA > 0){
+                                               hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
+                                               hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
+                                               hESDConvGammaPhi[fiCut]->Fill(PhotonCandidate->Phi());
+                                       }
                                }
                        }
                        if(fIsMC){
@@ -1252,8 +1293,9 @@ void AliAnalysisTaskGammaConvV1::ProcessPhotonCandidates()
                        if(fIsFromMBHeader){
                                hESDConvGammaPt[fiCut]->Fill(PhotonCandidate->Pt());
                                if (fDoPhotonQA > 0){
-                               hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
-                               hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
+                                       hESDConvGammaR[fiCut]->Fill(PhotonCandidate->GetConversionRadius());
+                                       hESDConvGammaEta[fiCut]->Fill(PhotonCandidate->Eta());
+                                       hESDConvGammaPhi[fiCut]->Fill(PhotonCandidate->Phi());
                                }
                        }
                        if(fIsMC){
@@ -1346,12 +1388,19 @@ void AliAnalysisTaskGammaConvV1::ProcessTruePhotonCandidatesAOD(AliAODConversion
                }   
                // STILL A BUG IN ALIROOT >>8 HAS TPO BE REMOVED AFTER FIX
                
-               
+                Double_t rConv=0.;       
+                rConv = sqrt( (posDaughter->Xv()*posDaughter->Xv()) + (posDaughter->Yv()*posDaughter->Yv()) ); 
                
                // True Photon
                if(fIsFromMBHeader){
-                       hESDTrueConvGammaPt[fiCut]->Fill(TruePhotonCandidate->Pt());
-                       if (fDoPhotonQA > 0) hESDTrueConvGammaEta[fiCut]->Fill(TruePhotonCandidate->Eta());
+                   hESDTrueConvGammaPt[fiCut]->Fill(TruePhotonCandidate->Pt());
+                   if (fDoPhotonQA > 0){
+                      hESDTrueConvGammaEta[fiCut]->Fill(TruePhotonCandidate->Eta()); 
+                      hESDTrueConvGammaR[fiCut]->Fill(TruePhotonCandidate->GetConversionRadius());
+                      hESDTrueConvGammaRMC[fiCut]->Fill(rConv);
+                      hESDTrueConvGammaPtMC[fiCut]->Fill(Photon->Pt());
+                    
+                   }
                }
                hESDTrueGammaPsiPairDeltaPhi[fiCut]->Fill(deltaPhi,TruePhotonCandidate->GetPsiPair());  
                if(Photon->IsPrimary()){ 
@@ -1436,7 +1485,13 @@ void AliAnalysisTaskGammaConvV1::ProcessTruePhotonCandidates(AliAODConversionPho
        // True Photon
        if(fIsFromMBHeader){
                hESDTrueConvGammaPt[fiCut]->Fill(TruePhotonCandidate->Pt());
-               if (fDoPhotonQA > 0) hESDTrueConvGammaEta[fiCut]->Fill(TruePhotonCandidate->Eta());
+               if (fDoPhotonQA > 0){
+                       hESDTrueConvGammaEta[fiCut]->Fill(TruePhotonCandidate->Eta());
+                       hESDTrueConvGammaR[fiCut]->Fill(TruePhotonCandidate->GetConversionRadius());
+                       hESDTrueConvGammaRMC[fiCut]->Fill(posDaughter->R());
+                       hESDTrueConvGammaPtMC[fiCut]->Fill(Photon->Pt());
+               }
+
        }
        hESDTrueGammaPsiPairDeltaPhi[fiCut]->Fill(deltaPhi,TruePhotonCandidate->GetPsiPair());  
        if(posDaughter->GetMother(0) <= fMCStack->GetNprimary()){
@@ -1452,20 +1507,19 @@ void AliAnalysisTaskGammaConvV1::ProcessTruePhotonCandidates(AliAODConversionPho
                if(fIsFromMBHeader){
                        iPhotonMCInfo = 2;
                        hESDTrueSecondaryConvGammaPt[fiCut]->Fill(TruePhotonCandidate->Pt());
-                       if(fMCStack->Particle(Photon->GetMother(0))->GetMother(0) > -1 &&
-                               fMCStack->Particle(fMCStack->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 3122){
-                               hESDTrueSecondaryConvGammaFromXFromLambdaPt[fiCut]->Fill(TruePhotonCandidate->Pt());
-                               iPhotonMCInfo = 5;
-                       }
-                       if(fMCStack->Particle(Photon->GetMother(0))->GetMother(0) > -1 &&
-                               fMCStack->Particle(fMCStack->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 310){
-                               hESDTrueSecondaryConvGammaFromXFromK0sPt[fiCut]->Fill(TruePhotonCandidate->Pt());
-                               iPhotonMCInfo = 4;
-                       }
-                       if(fMCStack->Particle(Photon->GetMother(0))->GetMother(0) > -1 &&
-                               fMCStack->Particle(fMCStack->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 221){
-                               iPhotonMCInfo = 3;
-                       }
+                       if(fMCStack->Particle(Photon->GetMother(0))->GetMother(0) > -1){
+                               if ( fMCStack->Particle(fMCStack->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 3122){
+                                       hESDTrueSecondaryConvGammaFromXFromLambdaPt[fiCut]->Fill(TruePhotonCandidate->Pt());
+                                       iPhotonMCInfo = 5;
+                               }
+                               if (fMCStack->Particle(fMCStack->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 310){
+                                       hESDTrueSecondaryConvGammaFromXFromK0sPt[fiCut]->Fill(TruePhotonCandidate->Pt());
+                                       iPhotonMCInfo = 4;
+                               }
+                               if (fMCStack->Particle(fMCStack->Particle(Photon->GetMother(0))->GetMother(0))->GetPdgCode() == 221){
+                                       iPhotonMCInfo = 3;
+                               }
+                       }       
                }
        }
 }
@@ -1525,7 +1579,7 @@ void AliAnalysisTaskGammaConvV1::ProcessAODMCParticles()
                                        AliAODMCParticle *tmpDaughter = static_cast<AliAODMCParticle*>(AODMCTrackArray->At(daughterIndex));
                                        if(!tmpDaughter) continue;
                                        if(abs(tmpDaughter->GetPdgCode()) == 11){
-                                       rConv = sqrt( (tmpDaughter->Xv()*tmpDaughter->Xv()) + (tmpDaughter->Yv()*tmpDaughter->Yv()) );
+                                               rConv = sqrt( (tmpDaughter->Xv()*tmpDaughter->Xv()) + (tmpDaughter->Yv()*tmpDaughter->Yv()) );
                                        }
                                }
                                hMCConvGammaPt[fiCut]->Fill(particle->Pt());
@@ -1575,14 +1629,25 @@ void AliAnalysisTaskGammaConvV1::ProcessAODMCParticles()
                                                -((AliConvEventCuts*)fEventCutArray->At(fiCut))->GetEtaShift();
                                        }
 
+                                       Double_t alpha = -1;
+                                       if (particle->GetPdgCode() == 111 || particle->GetPdgCode() == 221){
+                                               alpha = TMath::Abs((daughter0->E() - daughter1->E()))/(daughter0->E() + daughter1->E());
+                                       }
+
                                        if(particle->GetPdgCode() == 111){
                                                hMCPi0Pt[fiCut]->Fill(particle->Pt(),weighted); // All MC Pi0
                                                hMCPi0WOWeightPt[fiCut]->Fill(particle->Pt());
-                                               if (fDoMesonQA > 0) hMCPi0PtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+                                               if (fDoMesonQA > 0){
+                                                       hMCPi0PtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+                                                       hMCPi0PtAlpha[fiCut]->Fill(particle->Pt(),alpha); // All MC Pi0
+                                               }       
                                        } else if(particle->GetPdgCode() == 221){
                                                hMCEtaPt[fiCut]->Fill(particle->Pt(),weighted); // All MC Eta
                                                hMCEtaWOWeightPt[fiCut]->Fill(particle->Pt());
-                                               if (fDoMesonQA > 0) hMCEtaPtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+                                               if (fDoMesonQA > 0){
+                                                       hMCEtaPtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+                                                       hMCEtaPtAlpha[fiCut]->Fill(particle->Pt(),alpha); // All MC Pi0
+                                               }       
                                        }
                                        
                                        // Check the acceptance for both gammas
@@ -1697,15 +1762,25 @@ void AliAnalysisTaskGammaConvV1::ProcessMCParticles()
                                        mesonY = 0.5*(TMath::Log((particle->Energy()+particle->Pz()) / (particle->Energy()-particle->Pz())))
                                        -((AliConvEventCuts*)fEventCutArray->At(fiCut))->GetEtaShift();
                                }
+                               Double_t alpha = -1;
+                               if (particle->GetPdgCode() == 111 || particle->GetPdgCode() == 221){
+                                       alpha = TMath::Abs((daughter0->Energy() - daughter1->Energy()))/(daughter0->Energy() + daughter1->Energy());
+                               }
 
                                if(particle->GetPdgCode() == 111){
                                        hMCPi0Pt[fiCut]->Fill(particle->Pt(),weighted); // All MC Pi0
                                        hMCPi0WOWeightPt[fiCut]->Fill(particle->Pt());
-                                       if (fDoMesonQA > 0) hMCPi0PtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+                                       if (fDoMesonQA > 0){
+                                               hMCPi0PtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+                                               hMCPi0PtAlpha[fiCut]->Fill(particle->Pt(),alpha); // All MC Pi0
+                                       }       
                                } else if(particle->GetPdgCode() == 221){
                                        hMCEtaPt[fiCut]->Fill(particle->Pt(),weighted); // All MC Eta
                                        hMCEtaWOWeightPt[fiCut]->Fill(particle->Pt());
-                                       if (fDoMesonQA > 0) hMCEtaPtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+                                       if (fDoMesonQA > 0){
+                                               hMCEtaPtY[fiCut]->Fill(particle->Pt(),mesonY,weighted); // All MC Pi0
+                                               hMCEtaPtAlpha[fiCut]->Fill(particle->Pt(),alpha); // All MC Pi0
+                                       }       
                                } 
 
                                // Check the acceptance for both gammas
@@ -1851,7 +1926,7 @@ void AliAnalysisTaskGammaConvV1::CalculatePi0Candidates(){
                                                        if (fInvMass > 0.08 && fInvMass < 0.2) tESDMesonsInvMassPtDcazMinDcazMaxFlag[fiCut]->Fill();
                                                        if ((fInvMass > 0.45 && fInvMass < 0.6) &&  (fPt > 0.999 && fPt < 20.) )tESDMesonsInvMassPtDcazMinDcazMaxFlag[fiCut]->Fill();
                                                } else if (fPt > 0.299 && fPt < 20. )  {
-                                                       if ( (fInvMass > 0.08 && fInvMass < 0.2) || (fInvMass > 0.45 && fInvMass < 0.6)) tESDMesonsInvMassPtDcazMinDcazMaxFlag[fiCut]->Fill();
+                                                       if ( (fInvMass > 0.08 && fInvMass < 0.6) ) tESDMesonsInvMassPtDcazMinDcazMaxFlag[fiCut]->Fill();
                                                }   
                                        }
                                }
@@ -2597,5 +2672,4 @@ Int_t AliAnalysisTaskGammaConvV1::GetSourceClassification(Int_t daughter, Int_t
                else return 15;         
        } 
        return 15;
-
-}
\ No newline at end of file
+}