]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG2/SPECTRA/AliProtonQAAnalysis.cxx
1.The QA data created on demand according to the event species at filling time. 2...
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / AliProtonQAAnalysis.cxx
index 33e60cd0668a52c9998b7b40a53c65639ce0641c..f660973107dce3290637b01585fb1dffd642d520 100644 (file)
@@ -1161,7 +1161,7 @@ void AliProtonQAAnalysis::InitEfficiencyAnalysis() {
                                          ";;P_{T} [GeV/c];N_{points}",
                                          fNBinsY,fMinY,fMaxY,
                                          fNBinsPt,fMinPt,fMaxPt,
-                                         100,0,200);
+                                         50,0,200);
   if(fProtonAnalysisBase->GetEtaMode()) 
     gHistESDInitYPtProtons->GetXaxis()->SetTitle("#eta");
   else 
@@ -1175,7 +1175,7 @@ void AliProtonQAAnalysis::InitEfficiencyAnalysis() {
                                        ";;P_{T} [GeV/c];N_{points}",
                                        fNBinsY,fMinY,fMaxY,
                                        fNBinsPt,fMinPt,fMaxPt,
-                                       100,0,200);
+                                       50,0,200);
   if(fProtonAnalysisBase->GetEtaMode()) 
     gHistESDIdYPtProtons->GetXaxis()->SetTitle("#eta");
   else 
@@ -1189,7 +1189,7 @@ void AliProtonQAAnalysis::InitEfficiencyAnalysis() {
                                           ";;P_{T} [GeV/c];N_{points}",
                                           fNBinsY,fMinY,fMaxY,
                                           fNBinsPt,fMinPt,fMaxPt,
-                                          100,0,200);
+                                          50,0,200);
   if(fProtonAnalysisBase->GetEtaMode()) 
     gHistESDRecIdYPtProtons->GetXaxis()->SetTitle("#eta");
   else 
@@ -1203,7 +1203,7 @@ void AliProtonQAAnalysis::InitEfficiencyAnalysis() {
                                            ";;P_{T} [GeV/c];N_{points}",
                                            fNBinsY,fMinY,fMaxY,
                                            fNBinsPt,fMinPt,fMaxPt,
-                                           100,0,200);
+                                           50,0,200);
   if(fProtonAnalysisBase->GetEtaMode()) 
     gHistESDContamYPtProtons->GetXaxis()->SetTitle("#eta");
   else 
@@ -1462,7 +1462,7 @@ void AliProtonQAAnalysis::InitCutLists() {
   fAcceptedCutList->Add(gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsPass);//eta-phi of secondary accepted ESD antiprotons
   //eta-phi-number of TPC points for the dE/dx
   TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass = new TH3D("gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass",
-                                                                 "Accepted primary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+                                                                 "Accepted primary protons;#eta;#phi;N_{points}(TPC)",
                                                                  fNBinsY,fMinY,fMaxY,
                                                                  100,0,360,
                                                                  100,0,200);
@@ -1470,7 +1470,7 @@ void AliProtonQAAnalysis::InitCutLists() {
   gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass->GetXaxis()->SetTitleColor(1);
   fAcceptedCutList->Add(gHistEtaPhiTPCdEdxNPointsPrimaryProtonsPass);//eta-phi of primary accepted ESD protons
   TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass = new TH3D("gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass",
-                                                                     "Accepted primary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+                                                                     "Accepted primary antiprotons;#eta;#phi;N_{points}(TPC)",
                                                                      fNBinsY,fMinY,fMaxY,
                                                                      100,0,360,
                                                                      100,0,200);
@@ -1478,7 +1478,7 @@ void AliProtonQAAnalysis::InitCutLists() {
   gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass->GetXaxis()->SetTitleColor(1);
   fAcceptedCutList->Add(gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsPass);//eta-phi of primary accepted ESD antiprotons
   TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass = new TH3D("gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass",
-                                                                   "Accepted secondary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+                                                                   "Accepted secondary protons;#eta;#phi;N_{points}(TPC)",
                                                                    fNBinsY,fMinY,fMaxY,
                                                                    100,0,360,
                                                                    100,0,200);
@@ -1486,7 +1486,7 @@ void AliProtonQAAnalysis::InitCutLists() {
   gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass->GetXaxis()->SetTitleColor(1);
   fAcceptedCutList->Add(gHistEtaPhiTPCdEdxNPointsSecondaryProtonsPass);//eta-phi of secondary accepted ESD protons
   TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass = new TH3D("gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsPass",
-                                                                       "Accepted secondary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+                                                                       "Accepted secondary antiprotons;#eta;#phi;N_{points}(TPC)",
                                                                        fNBinsY,fMinY,fMaxY,
                                                                        100,0,360,
                                                                        100,0,200);
@@ -1581,7 +1581,7 @@ void AliProtonQAAnalysis::InitCutLists() {
   fRejectedCutList->Add(gHistEtaPhiChi2PerTPCClusterSecondaryAntiProtonsReject);//eta-phi of secondary rejected ESD antiprotons
   //eta-phi-number of TPC points for the dE/dx
   TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject = new TH3D("gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject",
-                                                                 "Rejected primary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+                                                                 "Rejected primary protons;#eta;#phi;N_{points}(TPC)",
                                                                  fNBinsY,fMinY,fMaxY,
                                                                  100,0,360,
                                                                  100,0,200);
@@ -1589,7 +1589,7 @@ void AliProtonQAAnalysis::InitCutLists() {
   gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject->GetXaxis()->SetTitleColor(1);
   fRejectedCutList->Add(gHistEtaPhiTPCdEdxNPointsPrimaryProtonsReject);//eta-phi of primary rejected ESD protons
   TH3D *gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject = new TH3D("gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject",
-                                                                     "Rejected primary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+                                                                     "Rejected primary antiprotons;#eta;#phi;N_{points}(TPC)",
                                                                      fNBinsY,fMinY,fMaxY,
                                                                      100,0,360,
                                                                      100,0,200);
@@ -1597,7 +1597,7 @@ void AliProtonQAAnalysis::InitCutLists() {
   gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject->GetXaxis()->SetTitleColor(1);
   fRejectedCutList->Add(gHistEtaPhiTPCdEdxNPointsPrimaryAntiProtonsReject);//eta-phi of primary rejected ESD antiprotons
   TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject = new TH3D("gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject",
-                                                                   "Rejected secondary protons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+                                                                   "Rejected secondary protons;#eta;#phi;N_{points}(TPC)",
                                                                    fNBinsY,fMinY,fMaxY,
                                                                    100,0,360,
                                                                    100,0,200);
@@ -1605,7 +1605,7 @@ void AliProtonQAAnalysis::InitCutLists() {
   gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject->GetXaxis()->SetTitleColor(1);
   fRejectedCutList->Add(gHistEtaPhiTPCdEdxNPointsSecondaryProtonsReject);//eta-phi of secondary rejected ESD protons
   TH3D *gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject = new TH3D("gHistEtaPhiTPCdEdxNPointsSecondaryAntiProtonsReject",
-                                                                       "Rejected secondary antiprotons;#eta;#phi;#chi^{2}/N_{clusters}(TPC)",
+                                                                       "Rejected secondary antiprotons;#eta;#phi;N_{points}(TPC)",
                                                                        fNBinsY,fMinY,fMaxY,
                                                                        100,0,360,
                                                                        100,0,200);
@@ -2976,22 +2976,12 @@ void AliProtonQAAnalysis::RunReconstructionEfficiencyAnalysis(AliMCEvent *const
        }
        else 
          if((fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) > fMaxY)||(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()) < fMinY)) continue;
-       
-       //Double_t probability[5];
-       
+               
        if(fUseCutsInEfficiency) 
          if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) continue;
        
        //reconstructed primary (anti)protons
        if(pdgcode == 2212) {
-         if(fProtonAnalysisBase->GetEtaMode())
-           ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
-                                                     particle->Pt());
-         else
-           ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
-                                                              particle->Py(),
-                                                              particle->Pz()),
-                                                     particle->Pt());
          if(label <= stack->GetNprimary()) {
            if(fProtonAnalysisBase->GetEtaMode())
              ((TH2D *)(fEfficiencyList->At(6)))->Fill(particle->Eta(),
@@ -3032,14 +3022,6 @@ void AliProtonQAAnalysis::RunReconstructionEfficiencyAnalysis(AliMCEvent *const
          }//secondaries
        }//initial protons
        if(pdgcode == -2212) {  
-         if(fProtonAnalysisBase->GetEtaMode())
-           ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
-                                                     particle->Pt());
-         else
-           ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
-                                                              particle->Py(),
-                                                              particle->Pz()),
-                                                     particle->Pt());
          if(label <= stack->GetNprimary()) {
            if(fProtonAnalysisBase->GetEtaMode())
              ((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(),
@@ -3107,14 +3089,6 @@ void AliProtonQAAnalysis::RunReconstructionEfficiencyAnalysis(AliMCEvent *const
        
        //reconstructed primary (anti)protons
        if(pdgcode == 2212) {
-         if(fProtonAnalysisBase->GetEtaMode())
-           ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
-                                                     particle->Pt());
-         else
-           ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
-                                                              particle->Py(),
-                                                              particle->Pz()),
-                                                     particle->Pt());
          if(label <= stack->GetNprimary()) {
            if(fProtonAnalysisBase->GetEtaMode())
              ((TH2D *)(fEfficiencyList->At(6)))->Fill(particle->Eta(),
@@ -3155,14 +3129,6 @@ void AliProtonQAAnalysis::RunReconstructionEfficiencyAnalysis(AliMCEvent *const
          }//secondaries
        }//initial protons
        if(pdgcode == -2212) {  
-         if(fProtonAnalysisBase->GetEtaMode())
-           ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
-                                                     particle->Pt());
-         else
-           ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
-                                                              particle->Py(),
-                                                              particle->Pz()),
-                                                     particle->Pt());
          if(label <= stack->GetNprimary()) {
            if(fProtonAnalysisBase->GetEtaMode())
              ((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(),
@@ -3201,8 +3167,7 @@ void AliProtonQAAnalysis::RunReconstructionEfficiencyAnalysis(AliMCEvent *const
                                                          particle->Pt());
            }//hadronic interactions
          }//secondaries
-       }//initial antiprotons
-       
+       }//initial antiprotons  
       }//global tracking
     }//track loop
     labelArray.Reset();
@@ -3213,7 +3178,8 @@ void AliProtonQAAnalysis::RunReconstructionEfficiencyAnalysis(AliMCEvent *const
 
 //____________________________________________________________________//
 void AliProtonQAAnalysis::RunPIDEfficiencyAnalysis(AliStack *const stack, 
-                                                  AliESDEvent *esd) {
+                                                  AliESDEvent *esd,
+                                                  const AliESDVertex *vertex) {
   Int_t nGoodTracks = esd->GetNumberOfTracks();
   TArrayI labelArray(nGoodTracks);
   Int_t labelCounter = 0;
@@ -3238,6 +3204,17 @@ void AliProtonQAAnalysis::RunPIDEfficiencyAnalysis(AliStack *const stack,
     
     Int_t nTPCpoints = track->GetTPCsignalN();
 
+    if(fUseCutsInEfficiency) 
+      if(!fProtonAnalysisBase->IsAccepted(esd,vertex,track)) continue;
+       
+    if(TMath::Abs(pdgcode) == 2212) {
+      if(fProtonAnalysisBase->GetEtaMode())
+       ((TH3D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
+                                                 particle->Pt(),nTPCpoints);
+      else
+       ((TH3D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),particle->Py(),particle->Pz()),particle->Pt(),nTPCpoints);
+    }
+
     //pid
     if(fProtonAnalysisBase->IsProton(track)) {
       if(fProtonAnalysisBase->GetEtaMode())
@@ -3403,14 +3380,6 @@ void AliProtonQAAnalysis::RunEfficiencyAnalysis(AliStack *const stack,
       
       //reconstructed primary (anti)protons
       if(pdgcode == 2212) {
-       if(fProtonAnalysisBase->GetEtaMode())
-         ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
-                                                   particle->Pt());
-       else
-         ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
-                                                            particle->Py(),
-                                                            particle->Pz()),
-                                                   particle->Pt());
        if(label <= stack->GetNprimary()) {
          nESDProtons += 1;
          if(fProtonAnalysisBase->GetEtaMode())
@@ -3452,14 +3421,6 @@ void AliProtonQAAnalysis::RunEfficiencyAnalysis(AliStack *const stack,
        }//secondaries
       }//initial protons
       if(pdgcode == -2212) {   
-       if(fProtonAnalysisBase->GetEtaMode())
-         ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
-                                                   particle->Pt());
-       else
-         ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
-                                                            particle->Py(),
-                                                            particle->Pz()),
-                                                   particle->Pt());
        if(label <= stack->GetNprimary()) {
          if(fProtonAnalysisBase->GetEtaMode())
            ((TH2D *)(fEfficiencyList->At(7)))->Fill(particle->Eta(),
@@ -3499,38 +3460,6 @@ void AliProtonQAAnalysis::RunEfficiencyAnalysis(AliStack *const stack,
          }//hadronic interactions
        }//secondaries
       }//initial antiprotons
-      
-      //pid
-      if(fProtonAnalysisBase->IsProton(track)) {
-       if(fProtonAnalysisBase->GetEtaMode())
-         ((TH2D *)(fEfficiencyList->At(14)))->Fill(particle->Eta(),
-                                                   particle->Pt());
-       else
-         ((TH2D *)(fEfficiencyList->At(14)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
-                                                            particle->Py(),
-                                                            particle->Pz()),
-                                                   particle->Pt());
-       if(TMath::Abs(pdgcode) == 2212) {
-         if(fProtonAnalysisBase->GetEtaMode())
-           ((TH2D *)(fEfficiencyList->At(13)))->Fill(particle->Eta(),
-                                                     particle->Pt());
-         else
-           ((TH2D *)(fEfficiencyList->At(13)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
-                                                              particle->Py(),
-                                                              particle->Pz()),
-                                                     particle->Pt());
-       }//properly identified as proton
-       else {
-         if(fProtonAnalysisBase->GetEtaMode())
-           ((TH2D *)(fEfficiencyList->At(15)))->Fill(particle->Eta(),
-                                                     particle->Pt());
-         else
-           ((TH2D *)(fEfficiencyList->At(15)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
-                                                              particle->Py(),
-                                                              particle->Pz()),
-                                                     particle->Pt());
-       }//contamination
-      }//identified as proton
     }//TPC only tracks
     else {
       if((particle->Pt() > fMaxPt)||(particle->Pt() < fMinPt)) continue;
@@ -3546,14 +3475,6 @@ void AliProtonQAAnalysis::RunEfficiencyAnalysis(AliStack *const stack,
       
       //reconstructed primary (anti)protons
       if(pdgcode == 2212) {
-       if(fProtonAnalysisBase->GetEtaMode())
-         ((TH2D *)(fEfficiencyList->At(12)))->Fill(particle->Eta(),
-                                                   particle->Pt());
-       else
-         ((TH2D *)(fEfficiencyList->At(12)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
-                                                            particle->Py(),
-                                                            particle->Pz()),
-                                                   particle->Pt());
        if(label <= stack->GetNprimary()) {
          nESDProtons += 1;
          if(fProtonAnalysisBase->GetEtaMode())
@@ -3642,37 +3563,6 @@ void AliProtonQAAnalysis::RunEfficiencyAnalysis(AliStack *const stack,
          }//hadronic interactions
        }//secondaries
       }//initial antiprotons
-      
-      //pid
-      if(fProtonAnalysisBase->IsProton(track)) {
-       if(fProtonAnalysisBase->GetEtaMode())
-         ((TH2D *)(fEfficiencyList->At(14)))->Fill(particle->Eta(),
-                                                   particle->Pt());
-       else ((TH2D *)(fEfficiencyList->At(14)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
-                                                               particle->Py(),
-                                                               particle->Pz()),
-                                                      particle->Pt());
-       if(TMath::Abs(pdgcode) == 2212) {
-         if(fProtonAnalysisBase->GetEtaMode())
-           ((TH2D *)(fEfficiencyList->At(13)))->Fill(particle->Eta(),
-                                                     particle->Pt());
-         else
-           ((TH2D *)(fEfficiencyList->At(13)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
-                                                              particle->Py(),
-                                                              particle->Pz()),
-                                                     particle->Pt());
-       }//properly identified as proton
-       else {
-         if(fProtonAnalysisBase->GetEtaMode())
-           ((TH2D *)(fEfficiencyList->At(15)))->Fill(particle->Eta(),
-                                                     particle->Pt());
-         else
-           ((TH2D *)(fEfficiencyList->At(15)))->Fill(fProtonAnalysisBase->Rapidity(particle->Px(),
-                                                              particle->Py(),
-                                                              particle->Pz()),
-                                                     particle->Pt());
-       }//contamination
-      }//identified as proton
     }//global tracking
   }//track loop
   
@@ -3694,7 +3584,6 @@ Bool_t AliProtonQAAnalysis::IsLabelUsed(TArrayI labelArray,
 
 //____________________________________________________________________//
 void AliProtonQAAnalysis::RunVertexQA(AliGenEventHeader *header,
-                                     AliStack *const stack, 
                                      AliESDEvent *const esd) {
   //Runs the vertex QA
   //MC vertex