}\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
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
\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
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
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
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
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
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
\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
\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
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
}\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