]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGCF/EBYE/PIDFluctuation/task/AliEbyEPidRatioQA.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGCF / EBYE / PIDFluctuation / task / AliEbyEPidRatioQA.cxx
index a79b183685132e55e76d7a38be6ba55c66326e17..576bc449f0281cb66ab1e3073a2a45f330e38266 100644 (file)
@@ -52,7 +52,7 @@ ClassImp(AliEbyEPidRatioQA)
 AliEbyEPidRatioQA::AliEbyEPidRatioQA() :
   AliEbyEPidRatioBase("QA", "QA"),
 
-  fHnQA(NULL) {
+  fHnQAa(NULL), fHnQAb(NULL)  {
   // Constructor   
   
   AliLog::SetClassDebugLevel("AliEbyEPidRatioQA",10);
@@ -68,58 +68,80 @@ AliEbyEPidRatioQA::~AliEbyEPidRatioQA() {
 //________________________________________________________________________
 void AliEbyEPidRatioQA::CreateHistograms() {
  
-  Int_t    binHnQA[17] = {AliEbyEPidRatioHelper::fgkfHistNBinsCent, AliEbyEPidRatioHelper::fgkfHistNBinsEta,  //       cent |       eta
-                         AliEbyEPidRatioHelper::fgkfHistNBinsRap,  AliEbyEPidRatioHelper::fgkfHistNBinsPhi,  //          y |       phi
-                         AliEbyEPidRatioHelper::fgkfHistNBinsPt,   AliEbyEPidRatioHelper::fgkfHistNBinsPt,   //         pt |    pInner
-                         AliEbyEPidRatioHelper::fgkfHistNBinsSign, 500,                                      //       sign | TPCsignal |  
-                         50, 50, 50,                                                                         //  nSigmaITS | nSigmaTPC |  nSigmaTOF
-                         50, 50, 50, 50,                                                                     //  DCAr      |      DCAz | nSigmaDCAr | nSigmaDCAz 
-                         3,4};                                                                                 //  MCisProbe  
+  Int_t    binHnQAa[10] = {AliEbyEPidRatioHelper::fgkfHistNBinsCent, 4, 
+                         AliEbyEPidRatioHelper::fgkfHistNBinsSign, 
+                         AliEbyEPidRatioHelper::fgkfHistNBinsPt, 
+                         500, 50, 50, 50, 3};
+
+  Double_t minHnQAa[10] = {AliEbyEPidRatioHelper::fgkfHistRangeCent[0],-0.5,
+                         AliEbyEPidRatioHelper::fgkfHistRangeSign[0],
+                         AliEbyEPidRatioHelper::fgkfHistRangePt[0],
+                         30, -10,-10, -10, -0.5};
+
+  Double_t maxHnQAa[10] = {AliEbyEPidRatioHelper::fgkfHistRangeCent[1], 3.5,
+                         AliEbyEPidRatioHelper::fgkfHistRangeSign[1],
+                         AliEbyEPidRatioHelper::fgkfHistRangePt[1], 
+                         500, 10., 10., 10., 2.5};
+
+  Int_t    binHnQAb[9] = {AliEbyEPidRatioHelper::fgkfHistNBinsCent, 4, 
+                         AliEbyEPidRatioHelper::fgkfHistNBinsSign,
+                         AliEbyEPidRatioHelper::fgkfHistNBinsPt,   
+                         AliEbyEPidRatioHelper::fgkfHistNBinsEta,  
+                         AliEbyEPidRatioHelper::fgkfHistNBinsRap,  
+                         AliEbyEPidRatioHelper::fgkfHistNBinsPhi,  
+                         50, 50};
   
-  Double_t minHnQA[17] = {AliEbyEPidRatioHelper::fgkfHistRangeCent[0], AliEbyEPidRatioHelper::fgkfHistRangeEta[0], 
-                         AliEbyEPidRatioHelper::fgkfHistRangeRap[0],  AliEbyEPidRatioHelper::fgkfHistRangePhi[0], 
-                         AliEbyEPidRatioHelper::fgkfHistRangePt[0],   AliEbyEPidRatioHelper::fgkfHistRangePt[0],   
-                         AliEbyEPidRatioHelper::fgkfHistRangeSign[0], 30
-                         -10., -10., -10.,
-                         -10., -10., -10., -10.
-                         -0.5,-0.5};
+  Double_t minHnQAb[9] = {AliEbyEPidRatioHelper::fgkfHistRangeCent[0],-0.5,
+                          AliEbyEPidRatioHelper::fgkfHistRangeSign[0],
+                         AliEbyEPidRatioHelper::fgkfHistRangePt[0],   
+                         AliEbyEPidRatioHelper::fgkfHistRangeEta[0]
+                         AliEbyEPidRatioHelper::fgkfHistRangeRap[0],  
+                         AliEbyEPidRatioHelper::fgkfHistRangePhi[0]
+                         -10,-10};
   
-  Double_t maxHnQA[17] = {AliEbyEPidRatioHelper::fgkfHistRangeCent[1], AliEbyEPidRatioHelper::fgkfHistRangeEta[1], 
-                         AliEbyEPidRatioHelper::fgkfHistRangeRap[1],  AliEbyEPidRatioHelper::fgkfHistRangePhi[1], 
-                         AliEbyEPidRatioHelper::fgkfHistRangePt[1],   AliEbyEPidRatioHelper::fgkfHistRangePt[1],
-                         AliEbyEPidRatioHelper::fgkfHistRangeSign[1], 500,
-                         10., 10., 10.,
-                         10.,  10., 10., 10.
-                         2.5,3.5};
+  Double_t maxHnQAb[9] = {AliEbyEPidRatioHelper::fgkfHistRangeCent[1], 3.5,
+                         AliEbyEPidRatioHelper::fgkfHistRangeSign[1],
+                         AliEbyEPidRatioHelper::fgkfHistRangePt[1],
+                         AliEbyEPidRatioHelper::fgkfHistRangeEta[1], 
+                         AliEbyEPidRatioHelper::fgkfHistRangeRap[1],  
+                         AliEbyEPidRatioHelper::fgkfHistRangePhi[1]
+                         10., 10.};
   
-
-  fHnQA = new THnSparseF("hnQA", "cent:eta:y:phi:pt:pInner:sign:TPCsignal:nSigmaITS:nSigmaTPC:nSigmaTOF:DCAr:DCAz:nSigmaDCAr:nSigmaDCAz:MCisProbe",
-                                17, binHnQA, minHnQA, maxHnQA);
-  
-  fHnQA->Sumw2();
-  
-  fHnQA->GetAxis(0)->SetTitle("centrality");                   //  0-5|5-10|10-20|20-30|30-40|40-50|50-60|60-70|70-80|80-90 --> 10 bins
-  fHnQA->GetAxis(1)->SetTitle("#eta");                         //  eta  [-0.9, 0.9]
-  fHnQA->GetAxis(2)->SetTitle("#it{y}");                       //  rapidity [-0.5, 0.5]
-  fHnQA->GetAxis(3)->SetTitle("#varphi");                      //  phi  [ 0. , 2Pi]
-  fHnQA->GetAxis(4)->SetTitle("#it{p}_{T} (GeV/#it{c})");      //  pt   [ 0.46, 2.22]
-  fHnQA->GetAxis(5)->SetTitle("#it{p}_{Inner} (GeV/#it{c})");  //  pInner [ 0.1, 3.0]
-  fHnQA->GetAxis(6)->SetTitle("sign");                         //  -1 | 0 | +1 
+  fHnQAa = new THnSparseF("hnQAPid", "cent:pid:sign:pt:pInner:TPCsignal:nSigmaITS:nSigmaTPC:nSigmaTOF:MCisProbe", 10, binHnQAa, minHnQAa, maxHnQAa);
+  fHnQAb = new THnSparseF("hnQADca", "cent:pid:sign:eta:y:phi:pt:DCAr:DCAz", 9, binHnQAb, minHnQAb, maxHnQAb);
+  fHnQAa->Sumw2();
+  fHnQAb->Sumw2();
   
-  fHnQA->GetAxis(7)->SetTitle("TPC signal");                   //  TPCsignal [30, 500]
-  fHnQA->GetAxis(8)->SetTitle("n #sigma ITS");                 //  nSigma ITS [-10, 10]
-  fHnQA->GetAxis(9)->SetTitle("n #sigma TPC");                 //  nSigma TPC [-10, 10]
-  fHnQA->GetAxis(10)->SetTitle("n #sigma TOF");                //  nSigma TOF [-10, 10]
+  fHnQAa->GetAxis(0)->SetTitle("centrality");                   //  0-5|5-10|10-20|20-30|30-40|40-50|50-60|60-70|70-80|80-90 --> 10 bins
+  fHnQAa->GetAxis(1)->SetTitle("N_{ch}|N_{#pi}|N_{K}|N_{p}");   //  0 | 1 | 2 | 3
+  fHnQAa->GetAxis(2)->SetTitle("sign");                         //  -1 | 0 | +1 
+  fHnQAa->GetAxis(3)->SetTitle("#it{p}_{T} (GeV/#it{c})");      //  pt   [ 0.46, 2.22]
+  fHnQAa->GetAxis(4)->SetTitle("#it{p}_{Inner} (GeV/#it{c})");  //  pInner [ 0.1, 3.0]
+  fHnQAa->GetAxis(5)->SetTitle("TPC signal");                   //  TPCsignal [30, 500]
+  fHnQAa->GetAxis(6)->SetTitle("n #sigma ITS");                 //  nSigma ITS [-10, 10]
+  fHnQAa->GetAxis(7)->SetTitle("n #sigma TPC");                 //  nSigma TPC [-10, 10]
+  fHnQAa->GetAxis(8)->SetTitle("n #sigma TOF");                 //  nSigma TOF [-10, 10]
+  fHnQAa->GetAxis(9)->SetTitle("MCisProbe");                    //  0 | 1 (isProbeParticle) | 2 (isProbeParticle wrong sign) 
+
+  fHnQAb->GetAxis(0)->SetTitle("centrality");                   //  0-5|5-10|10-20|20-30|30-40|40-50|50-60|60-70|70-80|80-90 --> 10 bins
+  fHnQAb->GetAxis(1)->SetTitle("N_{ch}|N_{#pi}|N_{K}|N_{p}");   //  0 | 1 | 2 | 3
+  fHnQAb->GetAxis(2)->SetTitle("sign");                         //  -1 | 0 | +1 
+  fHnQAb->GetAxis(3)->SetTitle("#it{p}_{T} (GeV/#it{c})");      //  pt   [ 0.46, 2.22]
+  fHnQAb->GetAxis(4)->SetTitle("#eta");                         //  eta  [-0.9, 0.9]
+  fHnQAb->GetAxis(5)->SetTitle("#it{y}");                       //  rapidity [-0.5, 0.5]
+  fHnQAb->GetAxis(6)->SetTitle("#varphi");                      //  phi  [ 0. , 2Pi]
+  fHnQAb->GetAxis(7)->SetTitle("DCAr");                         //  DCAr [-10, 10]
+  fHnQAb->GetAxis(8)->SetTitle("DCAz");                         //  DCAz [-10, 10]
+  // fHnQA->GetAxis(9)->SetTitle("n #sigma #sqrt(Cdd)/DCAr");   //  nSigma DCAr [-10, 10]
+  // fHnQA->GetAxis(10)->SetTitle("n #sigma #sqrt(Czz)/DCAz");  //  nSigma DCAz [-10, 10]
   
-  fHnQA->GetAxis(11)->SetTitle("DCAr");                        //  DCAr [-10, 10]
-  fHnQA->GetAxis(12)->SetTitle("DCAz");                        //  DCAz [-10, 10]
-  fHnQA->GetAxis(13)->SetTitle("n #sigma #sqrt(Cdd)/DCAr");    //  nSigma DCAr [-10, 10]
-  fHnQA->GetAxis(14)->SetTitle("n #sigma #sqrt(Czz)/DCAz");    //  nSigma DCAz [-10, 10]
-  fHnQA->GetAxis(15)->SetTitle("MCisProbe");                   //  0 | 1 (isProbeParticle) | 2 (isProbeParticle wrong sign) 
-  fHnQA->GetAxis(16)->SetTitle("PID");                         //  0 | 1 | 2 | 3
+  fHelper->BinLogAxis(fHnQAa, 3);
+  fHelper->BinLogAxis(fHnQAa, 4);
+  fHelper->BinLogAxis(fHnQAb, 3);
+
+
   
-  fHelper->BinLogAxis(fHnQA, 4);
-  fHelper->BinLogAxis(fHnQA, 5);
+                        
 
   return;
 }
@@ -134,7 +156,7 @@ void AliEbyEPidRatioQA::Process() {
   
   // -- Track Loop
   for (Int_t idxTrack = 0; idxTrack < fNTracks; ++idxTrack) {
-    
+   
     AliVTrack *track = (fESD) ? static_cast<AliVTrack*>(fESD->GetTrack(idxTrack)) : static_cast<AliVTrack*>(fAOD->GetTrack(idxTrack)); 
 
     // -- Check if track is accepted for basic parameters
@@ -142,9 +164,12 @@ void AliEbyEPidRatioQA::Process() {
       continue;
     
     // -- Check if accepted - ESD
-    if (fESD && !fESDTrackCuts->AcceptTrack(dynamic_cast<AliESDtrack*>(track)))
-      continue;
-    
+    if (fESD){
+      if (!fESDTrackCuts->AcceptTrack(dynamic_cast<AliESDtrack*>(track)))
+       continue;
+    }
+   
+  
     // -- Check if accepted - AOD
     if (fAOD){
       AliAODTrack * trackAOD = dynamic_cast<AliAODTrack*>(track);
@@ -170,6 +195,9 @@ void AliEbyEPidRatioQA::Process() {
     else if (fHelper->IsTrackAcceptedPID(track, pid, (AliPID::kProton))){  iPid = 3; gPdgCode = 2212;}
     else iPid = 0;
 
+
+    //cout << idxTrack << " --- QA ---- " << iPid << "  " << gPdgCode << endl;
+
     Double_t yP;
     if ((iPid != 0) && !fHelper->IsTrackAcceptedRapidity(track, yP, iPid))
       continue;
@@ -198,8 +226,8 @@ void AliEbyEPidRatioQA::Process() {
     if (fESD)
       (static_cast<AliESDtrack*>(track))->GetImpactParameters(dca,cov);
 
-    Float_t dcaRoverCdd = ( TMath::Sqrt(cov[0]) != 0. )  ? dca[0]/TMath::Sqrt(cov[0]) : -9.99;
-    Float_t dcaZoverCzz = ( TMath::Sqrt(cov[2]) != 0. )  ? dca[1]/TMath::Sqrt(cov[2]) : -9.99;
+    //  Float_t dcaRoverCdd = ( TMath::Sqrt(cov[0]) != 0. )  ? dca[0]/TMath::Sqrt(cov[0]) : -9.99;
+    //  Float_t dcaZoverCzz = ( TMath::Sqrt(cov[2]) != 0. )  ? dca[1]/TMath::Sqrt(cov[2]) : -9.99;
 
     if (iPid == 0)  
       yP = track->Eta();
@@ -208,50 +236,17 @@ void AliEbyEPidRatioQA::Process() {
     // cout << pid[0] << "  " << pid[1] << " " << pid[2] << yP << "  " << iPid << endl;
 
     if (iPid != 0) { 
-      Double_t aTrack[17] = {
-       Double_t(fCentralityBin),               //  0 centrality 
-       track->Eta(),                           //  1 eta
-       yP,                                     //  2 rapidity
-       track->Phi(),                           //  3 phi
-       track->Pt(),                            //  4 pt
-       track->GetTPCmomentum(),                //  5 pInner
-       track->Charge(),                        //  6 sign
-       track->GetTPCsignal(),                  //  7 TPC dE/dx
-       pid[0],                                 //  8 n Sigma ITS
-       pid[1],                                 //  9 n Sigma TPC
-       pid[2],                                 // 10 n Sigma TOF
-       dca[0],                                 // 11 dca r
-       dca[1],                                 // 12 dca z
-       dcaRoverCdd,                            // 13 sqrt(cov[dd])
-       dcaZoverCzz,                            // 14 sqrt(cov[zz])
-       isProbeParticle,                        // 15 isProbe
-       0                                    // 16 PID
-      };
-      
-      fHnQA->Fill(aTrack);
+
+      Double_t aTracka[10] = {fCentralityBin,0,track->Charge(),track->Pt(),track->GetTPCmomentum(),track->GetTPCsignal(),pid[0],pid[1],pid[2],isProbeParticle};   
+      Double_t aTrackb[9] = {fCentralityBin,0,track->Charge(),track->Pt(),track->Eta(),yP, track->Phi(),dca[0],dca[1]};
+      fHnQAa->Fill(aTracka);
+      fHnQAb->Fill(aTrackb);
     }
-    
-    Double_t aTrack[17] = {
-      Double_t(fCentralityBin),               //  0 centrality 
-      track->Eta(),                           //  1 eta
-      yP,                                     //  2 rapidity
-      track->Phi(),                           //  3 phi
-      track->Pt(),                            //  4 pt
-      track->GetTPCmomentum(),                //  5 pInner
-      track->Charge(),                        //  6 sign
-      track->GetTPCsignal(),                  //  7 TPC dE/dx
-      pid[0],                                 //  8 n Sigma ITS
-      pid[1],                                 //  9 n Sigma TPC
-      pid[2],                                 // 10 n Sigma TOF
-      dca[0],                                 // 11 dca r
-      dca[1],                                 // 12 dca z
-      dcaRoverCdd,                            // 13 sqrt(cov[dd])
-      dcaZoverCzz,                            // 14 sqrt(cov[zz])
-      isProbeParticle,                        // 15 isProbe
-      iPid                                    // 16 PID
-    };
-
-   fHnQA->Fill(aTrack);
+   
+    Double_t aTracka[10] = {fCentralityBin,iPid,track->Charge(),track->Pt(),track->GetTPCmomentum(),track->GetTPCsignal(),pid[0],pid[1],pid[2],isProbeParticle};   
+    Double_t aTrackb[9] = {fCentralityBin,iPid,track->Charge(),track->Pt(),track->Eta(),yP, track->Phi(),dca[0],dca[1]};
+      fHnQAa->Fill(aTracka);
+      fHnQAb->Fill(aTrackb);
 
   } // for (Int_t idxTrack = 0; idxTrack < fNTracks; ++idxTrack) {