]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ANALYSIS/AliAnalysisTaskPIDqa.cxx
solution of the problem: the BC id of the event header does not match the one from...
[u/mrichter/AliRoot.git] / ANALYSIS / AliAnalysisTaskPIDqa.cxx
index e1eff32802d3071d504bf8dbdcd475cf2d42f451..5e1d623f43aa1796d05ade72fc762c2e5e2490cb 100644 (file)
@@ -381,13 +381,13 @@ void AliAnalysisTaskPIDqa::FillITSqa()
     }\r
     \r
     \r
-    for (Int_t ispecie=0; ispecie<AliPID::kSPECIES; ++ispecie){\r
+    for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
       TH2 *h=(TH2*)theList->At(ispecie);\r
       if (!h) continue;\r
       Double_t nSigma=fPIDResponse->NumberOfSigmasITS(track, (AliPID::EParticleType)ispecie);\r
       h->Fill(mom,nSigma);\r
     }\r
-    TH2 *h=(TH2*)theList->At(AliPID::kSPECIES);\r
+    TH2 *h=(TH2*)theList->At(AliPID::kSPECIESC);\r
     if (h) {\r
       Double_t sig=track->GetITSsignal();\r
       h->Fill(mom,sig);\r
@@ -428,15 +428,35 @@ void AliAnalysisTaskPIDqa::FillTPCqa()
     if ( nCrossedRowsTPC<70 || ratioCrossedRowsOverFindableClustersTPC<.8 ) continue;\r
     \r
     Double_t mom=track->GetTPCmomentum();\r
-    \r
-    for (Int_t ispecie=0; ispecie<AliPID::kSPECIES; ++ispecie){\r
+    // the default scenario\r
+    for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
       TH2 *h=(TH2*)fListQAtpc->At(ispecie);\r
       if (!h) continue;\r
       Double_t nSigma=fPIDResponse->NumberOfSigmasTPC(track, (AliPID::EParticleType)ispecie);\r
       h->Fill(mom,nSigma);\r
     }\r
+    // the "hybrid" scenario\r
+    for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
+      TH2 *h=(TH2*)fListQAtpc->At(ispecie+AliPID::kSPECIESC);\r
+      if (!h) continue;\r
+      Double_t nSigma=fPIDResponse->NumberOfSigmasTPC(track, (AliPID::EParticleType)ispecie, AliTPCPIDResponse::kdEdxHybrid);\r
+      h->Fill(mom,nSigma);\r
+    }\r
+    \r
+    // the "OROC" scenario\r
+    for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
+      TH2 *h=(TH2*)fListQAtpc->At(ispecie+2*AliPID::kSPECIESC);\r
+      if (!h) continue;\r
+      Double_t nSigma=fPIDResponse->NumberOfSigmasTPC(track, (AliPID::EParticleType)ispecie, AliTPCPIDResponse::kdEdxOROC);\r
+      //TSpline3* spline = fPIDResponse->GetTPCResponse().GetCurrentResponseFunction();\r
+      //std::cout<<ispecie<<" "<<nSigma<<" phi:"<<track->Phi()<<". "<<std::endl;\r
+      //if (spline) {cout<<spline->GetName()<<endl;}\r
+      //else {cout<<"NULL spline"<<endl;}\r
+      h->Fill(mom,nSigma);\r
+    }\r
     \r
-    TH2 *h=(TH2*)fListQAtpc->At(AliPID::kSPECIES);\r
+    TH2 *h=(TH2*)fListQAtpc->At(3*AliPID::kSPECIESC);\r
+\r
     if (h) {\r
       Double_t sig=track->GetTPCsignal();\r
       h->Fill(mom,sig);\r
@@ -529,7 +549,7 @@ void AliAnalysisTaskPIDqa::FillTOFqa()
 \r
     Double_t mom=track->P();\r
 \r
-    for (Int_t ispecie=0; ispecie<AliPID::kSPECIES; ++ispecie){\r
+    for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
       TH2 *h=(TH2*)fListQAtof->At(ispecie);\r
       if (!h) continue;\r
       Double_t nSigma=fPIDResponse->NumberOfSigmasTOF(track, (AliPID::EParticleType)ispecie);\r
@@ -875,7 +895,7 @@ void AliAnalysisTaskPIDqa::FillTPCTOFqa()
     Double_t mom=track->P();\r
     Double_t momTPC=track->GetTPCmomentum();\r
 \r
-    for (Int_t ispecie=0; ispecie<AliPID::kSPECIES; ++ispecie){\r
+    for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
       //TOF nSigma\r
       Double_t nSigmaTOF=fPIDResponse->NumberOfSigmasTOF(track, (AliPID::EParticleType)ispecie);\r
       Double_t nSigmaTPC=fPIDResponse->NumberOfSigmasTPC(track, (AliPID::EParticleType)ispecie);\r
@@ -885,11 +905,11 @@ void AliAnalysisTaskPIDqa::FillTPCTOFqa()
       if (h && TMath::Abs(nSigmaTOF)<3.) h->Fill(momTPC,nSigmaTPC);\r
 \r
       //TOF after TPC cut\r
-      h=(TH2*)fListQAtpctof->At(ispecie+AliPID::kSPECIES);\r
+      h=(TH2*)fListQAtpctof->At(ispecie+AliPID::kSPECIESC);\r
       if (h && TMath::Abs(nSigmaTPC)<3.) h->Fill(mom,nSigmaTOF);\r
 \r
       //EMCAL after TOF and TPC cut\r
-      h=(TH2*)fListQAtpctof->At(ispecie+2*AliPID::kSPECIES);\r
+      h=(TH2*)fListQAtpctof->At(ispecie+2*AliPID::kSPECIESC);\r
       if (h && TMath::Abs(nSigmaTOF)<3. && TMath::Abs(nSigmaTPC)<3. ){\r
 \r
        Int_t nMatchClus = track->GetEMCALcluster();\r
@@ -929,7 +949,7 @@ void AliAnalysisTaskPIDqa::SetupITSqa()
   TVectorD *vX=MakeLogBinning(200,.1,30);\r
   \r
   //ITS+TPC tracks\r
-  for (Int_t ispecie=0; ispecie<AliPID::kSPECIES; ++ispecie){\r
+  for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
     TH2F *hNsigmaP = new TH2F(Form("hNsigmaP_ITS_%s",AliPID::ParticleName(ispecie)),\r
                               Form("ITS n#sigma %s vs. p;p [GeV]; n#sigma",AliPID::ParticleName(ispecie)),\r
                               vX->GetNrows()-1,vX->GetMatrixArray(),\r
@@ -943,7 +963,7 @@ void AliAnalysisTaskPIDqa::SetupITSqa()
   fListQAits->Add(hSig);\r
 \r
   //ITS Standalone tracks\r
-  for (Int_t ispecie=0; ispecie<AliPID::kSPECIES; ++ispecie){\r
+  for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
     TH2F *hNsigmaPSA = new TH2F(Form("hNsigmaP_ITSSA_%s",AliPID::ParticleName(ispecie)),\r
                                Form("ITS n#sigma %s vs. p;p [GeV]; n#sigma",AliPID::ParticleName(ispecie)),\r
                                vX->GetNrows()-1,vX->GetMatrixArray(),\r
@@ -957,7 +977,7 @@ void AliAnalysisTaskPIDqa::SetupITSqa()
   fListQAitsSA->Add(hSigSA);\r
   \r
   //ITS Pure Standalone tracks\r
-  for (Int_t ispecie=0; ispecie<AliPID::kSPECIES; ++ispecie){\r
+  for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
     TH2F *hNsigmaPPureSA = new TH2F(Form("hNsigmaP_ITSPureSA_%s",AliPID::ParticleName(ispecie)),\r
                                    Form("ITS n#sigma %s vs. p;p [GeV]; n#sigma",AliPID::ParticleName(ispecie)),\r
                                    vX->GetNrows()-1,vX->GetMatrixArray(),\r
@@ -982,20 +1002,39 @@ void AliAnalysisTaskPIDqa::SetupTPCqa()
   \r
   TVectorD *vX=MakeLogBinning(200,.1,30);\r
   \r
-  for (Int_t ispecie=0; ispecie<AliPID::kSPECIES; ++ispecie){\r
+  for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
     TH2F *hNsigmaP = new TH2F(Form("hNsigmaP_TPC_%s",AliPID::ParticleName(ispecie)),\r
                               Form("TPC n#sigma %s vs. p;p [GeV]; n#sigma",AliPID::ParticleName(ispecie)),\r
                               vX->GetNrows()-1,vX->GetMatrixArray(),\r
                               200,-10,10);\r
     fListQAtpc->Add(hNsigmaP);\r
   }\r
+\r
+  // the "hybrid" scenario\r
+  for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
+    TH2F *hNsigmaP = new TH2F(Form("hNsigmaP_TPC_%s_Hybrid",AliPID::ParticleName(ispecie)),\r
+                              Form("TPC n#sigma %s vs. p (Hybrid gain scenario);p [GeV]; n#sigma",AliPID::ParticleName(ispecie)),\r
+                              vX->GetNrows()-1,vX->GetMatrixArray(),\r
+                              200,-10,10);\r
+    fListQAtpc->Add(hNsigmaP);\r
+  }\r
+   \r
+  // the "OROC high" scenario\r
+  for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
+    TH2F *hNsigmaP = new TH2F(Form("hNsigmaP_TPC_%s_OROChigh",AliPID::ParticleName(ispecie)),\r
+                              Form("TPC n#sigma %s vs. p (OROChigh gain scenario);p [GeV]; n#sigma",AliPID::ParticleName(ispecie)),\r
+                              vX->GetNrows()-1,vX->GetMatrixArray(),\r
+                              200,-10,10);\r
+    fListQAtpc->Add(hNsigmaP);\r
+  }\r
+  \r
   \r
   \r
   TH2F *hSig = new TH2F("hSigP_TPC",\r
                         "TPC signal vs. p;p [GeV]; TPC signal [arb. units]",\r
                         vX->GetNrows()-1,vX->GetMatrixArray(),\r
                         300,0,300);\r
-  fListQAtpc->Add(hSig);\r
+  fListQAtpc->Add(hSig); //3*AliPID::kSPECIESC\r
 \r
   delete vX;  \r
 }\r
@@ -1028,7 +1067,7 @@ void AliAnalysisTaskPIDqa::SetupTOFqa()
   \r
   TVectorD *vX=MakeLogBinning(200,.1,30);\r
 \r
-  for (Int_t ispecie=0; ispecie<AliPID::kSPECIES; ++ispecie){\r
+  for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
     TH2F *hNsigmaP = new TH2F(Form("hNsigmaP_TOF_%s",AliPID::ParticleName(ispecie)),\r
                               Form("TOF n#sigma %s vs. p;p [GeV]; n#sigma",AliPID::ParticleName(ispecie)),\r
                               vX->GetNrows()-1,vX->GetMatrixArray(),\r
@@ -1158,7 +1197,7 @@ void AliAnalysisTaskPIDqa::SetupTPCTOFqa()
   TVectorD *vX=MakeLogBinning(200,.1,30);\r
 \r
   //TPC signals after TOF cut\r
-  for (Int_t ispecie=0; ispecie<AliPID::kSPECIES; ++ispecie){\r
+  for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
     TH2F *hNsigmaP = new TH2F(Form("hNsigmaP_TPC_TOF_%s",AliPID::ParticleName(ispecie)),\r
                               Form("TPC n#sigma %s vs. p (after TOF 3#sigma cut);p_{TPC} [GeV]; n#sigma",AliPID::ParticleName(ispecie)),\r
                               vX->GetNrows()-1,vX->GetMatrixArray(),\r
@@ -1167,7 +1206,7 @@ void AliAnalysisTaskPIDqa::SetupTPCTOFqa()
   }\r
 \r
   //TOF signals after TPC cut\r
-  for (Int_t ispecie=0; ispecie<AliPID::kSPECIES; ++ispecie){\r
+  for (Int_t ispecie=0; ispecie<AliPID::kSPECIESC; ++ispecie){\r
     TH2F *hNsigmaP = new TH2F(Form("hNsigmaP_TOF_TPC_%s",AliPID::ParticleName(ispecie)),\r
                               Form("TOF n#sigma %s vs. p (after TPC n#sigma cut);p [GeV]; n#sigma",AliPID::ParticleName(ispecie)),\r
                               vX->GetNrows()-1,vX->GetMatrixArray(),\r