fCSEMIbit(0),
fCentV0M(0),
fCentV0A(0),
+ fCentV0A0(0),
fCentV0A123(0),
fCentV0C(0),
+ fCentV0A23(0),
+ fCentV0C01(0),
+ fCentV0S(0),
fCentV0MEq(0),
fCentV0AEq(0),
fCentV0CEq(0),
fCentZPCtrue(0),
fHtempV0M(0),
fHtempV0A(0),
+ fHtempV0A0(0),
fHtempV0A123(0),
fHtempV0C(0),
+ fHtempV0A23(0),
+ fHtempV0C01(0),
+ fHtempV0S(0),
fHtempV0MEq(0),
fHtempV0AEq(0),
fHtempV0CEq(0),
fOutputList(0),
fHOutCentV0M(0),
fHOutCentV0A(0),
+ fHOutCentV0A0(0),
fHOutCentV0A123(0),
fHOutCentV0C(0),
+ fHOutCentV0A23(0),
+ fHOutCentV0C01(0),
+ fHOutCentV0S(0),
fHOutCentV0MEq(0),
fHOutCentV0AEq(0),
fHOutCentV0CEq(0),
fHOutMultV0AC(0),
fHOutMultV0M(0),
fHOutMultV0A(0),
+ fHOutMultV0A0(0),
fHOutMultV0A123(0),
fHOutMultV0C(0),
+ fHOutMultV0A23(0),
+ fHOutMultV0C01(0),
+ fHOutMultV0S(0),
fHOutMultV0MEq(0),
fHOutMultV0AEq(0),
fHOutMultV0CEq(0),
fCSEMIbit(0),
fCentV0M(0),
fCentV0A(0),
+ fCentV0A0(0),
fCentV0A123(0),
fCentV0C(0),
+ fCentV0A23(0),
+ fCentV0C01(0),
+ fCentV0S(0),
fCentV0MEq(0),
fCentV0AEq(0),
fCentV0CEq(0),
fCentZPCtrue(0),
fHtempV0M(0),
fHtempV0A(0),
+ fHtempV0A0(0),
fHtempV0A123(0),
fHtempV0C(0),
+ fHtempV0A23(0),
+ fHtempV0C01(0),
+ fHtempV0S(0),
fHtempV0MEq(0),
fHtempV0AEq(0),
fHtempV0CEq(0),
fOutputList(0),
fHOutCentV0M(0),
fHOutCentV0A(0),
+ fHOutCentV0A0(0),
fHOutCentV0A123(0),
fHOutCentV0C(0),
+ fHOutCentV0A23(0),
+ fHOutCentV0C01(0),
+ fHOutCentV0S(0),
fHOutCentV0MEq(0),
fHOutCentV0AEq(0),
fHOutCentV0CEq(0),
fHOutMultV0AC(0),
fHOutMultV0M(0),
fHOutMultV0A(0),
+ fHOutMultV0A0(0),
fHOutMultV0A123(0),
fHOutMultV0C(0),
+ fHOutMultV0A23(0),
+ fHOutMultV0C01(0),
+ fHOutMultV0S(0),
fHOutMultV0MEq(0),
fHOutMultV0AEq(0),
fHOutMultV0CEq(0),
fCSEMIbit(ana.fCSEMIbit),
fCentV0M(ana.fCentV0M),
fCentV0A(ana.fCentV0A),
+ fCentV0A0(ana.fCentV0A0),
fCentV0A123(ana.fCentV0A123),
fCentV0C(ana.fCentV0C),
+ fCentV0A23(ana.fCentV0A23),
+ fCentV0C01(ana.fCentV0C01),
+ fCentV0S(ana.fCentV0S),
fCentV0MEq(ana.fCentV0MEq),
fCentV0AEq(ana.fCentV0AEq),
fCentV0CEq(ana.fCentV0CEq),
fCentZPCtrue(ana.fCentZPCtrue),
fHtempV0M(ana.fHtempV0M),
fHtempV0A(ana.fHtempV0A),
+ fHtempV0A0(ana.fHtempV0A0),
fHtempV0A123(ana.fHtempV0A123),
fHtempV0C(ana.fHtempV0C),
+ fHtempV0A23(ana.fHtempV0A23),
+ fHtempV0C01(ana.fHtempV0C01),
+ fHtempV0S(ana.fHtempV0S),
fHtempV0MEq(ana.fHtempV0MEq),
fHtempV0AEq(ana.fHtempV0AEq),
fHtempV0CEq(ana.fHtempV0CEq),
fOutputList(ana.fOutputList),
fHOutCentV0M(ana.fHOutCentV0M),
fHOutCentV0A(ana.fHOutCentV0A),
+ fHOutCentV0A0(ana.fHOutCentV0A0),
fHOutCentV0A123(ana.fHOutCentV0A123),
fHOutCentV0C(ana.fHOutCentV0C),
+ fHOutCentV0A23(ana.fHOutCentV0A23),
+ fHOutCentV0C01(ana.fHOutCentV0C01),
+ fHOutCentV0S(ana.fHOutCentV0S),
fHOutCentV0MEq(ana.fHOutCentV0MEq),
fHOutCentV0AEq(ana.fHOutCentV0AEq),
fHOutCentV0CEq(ana.fHOutCentV0CEq),
fHOutMultV0AC(ana.fHOutMultV0AC),
fHOutMultV0M(ana.fHOutMultV0M),
fHOutMultV0A(ana.fHOutMultV0A),
+ fHOutMultV0A0(ana.fHOutMultV0A0),
fHOutMultV0A123(ana.fHOutMultV0A123),
fHOutMultV0C(ana.fHOutMultV0C),
+ fHOutMultV0A23(ana.fHOutMultV0A23),
+ fHOutMultV0C01(ana.fHOutMultV0C01),
+ fHOutMultV0S(ana.fHOutMultV0S),
fHOutMultV0MEq(ana.fHOutMultV0MEq),
fHOutMultV0AEq(ana.fHOutMultV0AEq),
fHOutMultV0CEq(ana.fHOutMultV0CEq),
fOutputList->SetOwner();
fHOutCentV0M = new TH1F("fHOutCentV0M","fHOutCentV0M; Centrality V0",505,0,101);
fHOutCentV0A = new TH1F("fHOutCentV0A","fHOutCentV0A; Centrality V0A",505,0,101);
+ fHOutCentV0A0 = new TH1F("fHOutCentV0A0","fHOutCentV0A0; Centrality V0A-0",505,0,101);
fHOutCentV0A123 = new TH1F("fHOutCentV0A123","fHOutCentV0A123; Centrality V0A-123",505,0,101);
fHOutCentV0C = new TH1F("fHOutCentV0C","fHOutCentV0C; Centrality V0C",505,0,101);
+ fHOutCentV0A23 = new TH1F("fHOutCentV0A23","fHOutCentV0A23; Centrality V0A-23",505,0,101);
+ fHOutCentV0C01 = new TH1F("fHOutCentV0C01","fHOutCentV0C01; Centrality V0C-01",505,0,101);
+ fHOutCentV0S = new TH1F("fHOutCentV0S","fHOutCentV0S; Centrality V0A-23 & V0C-01",505,0,101);
fHOutCentV0MEq = new TH1F("fHOutCentV0MEq","fHOutCentV0MEq; Centrality V0 equalized",505,0,101);
fHOutCentV0AEq = new TH1F("fHOutCentV0AEq","fHOutCentV0AEq; Centrality V0A equalized",505,0,101);
fHOutCentV0CEq = new TH1F("fHOutCentV0CEq","fHOutCentV0CEq; Centrality V0C equalized",505,0,101);
fHOutMultV0AC = new TH2F("fHOutMultV0AC","fHOutMultV0AC; Multiplicity V0A; Multiplicity V0C",1000,0,1000,1000,0,1000);
fHOutMultV0M = new TH1F("fHOutMultV0M","fHOutMultV0M; Multiplicity V0",25000,0,25000);
fHOutMultV0A = new TH1F("fHOutMultV0A","fHOutMultV0A; Multiplicity V0",25000,0,25000);
+ fHOutMultV0A0 = new TH1F("fHOutMultV0A0","fHOutMultV0A0; Multiplicity V0A-0",25000,0,25000);
fHOutMultV0A123 = new TH1F("fHOutMultV0A123","fHOutMultV0A123; Multiplicity V0A-123",25000,0,25000);
fHOutMultV0C = new TH1F("fHOutMultV0C","fHOutMultV0C; Multiplicity V0",25000,0,25000);
+ fHOutMultV0A23 = new TH1F("fHOutMultV0A23","fHOutMultV0A23; Multiplicity V0A-23",25000,0,25000);
+ fHOutMultV0C01 = new TH1F("fHOutMultV0C01","fHOutMultV0C01; Multiplicity V0C-01",25000,0,25000);
+ fHOutMultV0S = new TH1F("fHOutMultV0S","fHOutMultV0S; Multiplicity V0A-23 & V0C-01",25000,0,25000);
fHOutMultV0MEq = new TH1F("fHOutMultV0MEq","fHOutMultV0MEq; Multiplicity V0",25000,0,25000);
fHOutMultV0AEq = new TH1F("fHOutMultV0AEq","fHOutMultV0AEq; Multiplicity V0",25000,0,25000);
fHOutMultV0CEq = new TH1F("fHOutMultV0CEq","fHOutMultV0CEq; Multiplicity V0",25000,0,25000);
fOutputList->Add(fHOutCentV0M);
fOutputList->Add(fHOutCentV0A);
+ fOutputList->Add(fHOutCentV0A0);
fOutputList->Add(fHOutCentV0A123);
fOutputList->Add(fHOutCentV0C);
+ fOutputList->Add(fHOutCentV0A23);
+ fOutputList->Add(fHOutCentV0C01);
+ fOutputList->Add(fHOutCentV0S);
fOutputList->Add(fHOutCentV0MEq);
fOutputList->Add(fHOutCentV0AEq);
fOutputList->Add(fHOutCentV0CEq);
fOutputList->Add(fHOutMultV0AC);
fOutputList->Add(fHOutMultV0M);
fOutputList->Add(fHOutMultV0A);
+ fOutputList->Add(fHOutMultV0A0);
fOutputList->Add(fHOutMultV0A123);
fOutputList->Add(fHOutMultV0C);
+ fOutputList->Add(fHOutMultV0A23);
+ fOutputList->Add(fHOutMultV0C01);
+ fOutputList->Add(fHOutMultV0S);
fOutputList->Add(fHOutMultV0MEq);
fOutputList->Add(fHOutMultV0AEq);
fOutputList->Add(fHOutMultV0CEq);
Float_t spdCorr =0; // corrected spd2 multiplicity
Int_t multCND = 0; // no. tracks (candle condition)
+ Float_t multV0A0 = 0; // multiplicity from V0 reco side A (ring 0)
Float_t multV0A123 = 0; // multiplicity from V0 reco side A (ring 1-2-3)
Float_t multV0A = 0; // multiplicity from V0 reco side A
Float_t multV0C = 0; // multiplicity from V0 reco side C
+ Float_t multV0A23 = 0; // multiplicity from V0 reco side A (ring 2-3)
+ Float_t multV0C01 = 0; // multiplicity from V0 reco side C (ring 0-1)
Float_t multV0AEq = 0; // multiplicity from V0 reco side A
Float_t multV0CEq = 0; // multiplicity from V0 reco side C
- Float_t multV0ACorr = 0; // multiplicity from V0 reco side A
- Float_t multV0CCorr = 0; // multiplicity from V0 reco side C
+ Float_t multV0A0Corr = 0; // multiplicity from V0 reco side A (ring 0)
+ Float_t multV0A123Corr = 0; // multiplicity from V0 reco side A (ring 1-2-3)
+ Float_t multV0A23Corr = 0; // multiplicity from V0 reco side A (ring 2-3)
+ Float_t multV0C01Corr = 0; // multiplicity from V0 reco side C (ring 0-1)
+ Float_t multV0SCorr = 0; // multiplicity from V0 reco side A (ring 2-3) & side C (ring 0-1)
+ Float_t multV0ACorr = 0; // multiplicity from V0 reco side A
+ Float_t multV0CCorr = 0; // multiplicity from V0 reco side C
Short_t multV0AOnline = 0; // multiplicity from V0 reco side A
Short_t multV0COnline = 0; // multiplicity from V0 reco side C
Float_t v0Corr = 0; // corrected V0 multiplicity (used for MC)
+
Int_t nV0A = 0;
Int_t nV0C = 0;
if (esd) {
if (strcmp(esd->GetESDRun()->GetBeamType(), "A-A") == 0) runType=0;
- else runType=1;
+ else runType=1;
+ if (strcmp(esd->GetESDRun()->GetBeamType(), "p-p") == 0) runType=2;
} else {
Int_t runNumber = event->GetRunNumber();
if ((runNumber >= 136851 && runNumber <= 139517) || // LHC10h
(runNumber >= 166529 && runNumber <= 170593)) // LHC11h
runType=0;
+ else if ((runNumber >= 188355 && runNumber <= 188366) || // LHC12h
+ (runNumber >= 195344 && runNumber <= 197692)) // LHC13h
+ runType=1;
+ else runType=2;
}
esdCent = event->GetCentrality();
multV0C=esdV0->GetMTotV0C();
// excluding innermost V0A ring
+ for (int i=32; i<40; i++)
+ multV0A0 += esdV0->GetMultiplicity(i);
for (int i=40; i<64; i++)
multV0A123 += esdV0->GetMultiplicity(i);
- multV0ACorr = AliESDUtils::GetCorrV0A(multV0A,zvtx);
- multV0CCorr = AliESDUtils::GetCorrV0C(multV0C,zvtx);
-
+ for (int i=48; i<64; i++)
+ multV0A23 += esdV0->GetMultiplicity(i);
+ for (int i=0; i<16; i++)
+ multV0C01 += esdV0->GetMultiplicity(i);
+
+
+ multV0A0Corr = AliESDUtils::GetCorrV0A0(multV0A0,zvtx);
+ multV0A123Corr = AliESDUtils::GetCorrV0A(multV0A123,zvtx);
+ multV0ACorr = AliESDUtils::GetCorrV0A(multV0A,zvtx);
+ multV0CCorr = AliESDUtils::GetCorrV0C(multV0C,zvtx);
+ multV0A23Corr = AliESDUtils::GetCorrV0A(multV0A23,zvtx);
+ multV0C01Corr = AliESDUtils::GetCorrV0C(multV0C01,zvtx);
+ multV0SCorr = multV0A23Corr + multV0C01Corr;
v0Corr = multV0A+multV0C; // Todo: C.L. not clear why here we do not use the sum of the corrected values?
-
+
multV0AOnline=esdV0->GetTriggerChargeA();
multV0COnline=esdV0->GetTriggerChargeC();
// Equalized signals
multV0AEq=0.;
multV0CEq=0.;
- for(Int_t iCh = 4; iCh < 7; ++iCh) {
- Double_t mult = esd->GetVZEROEqMultiplicity(iCh);
- multV0AEq += mult;
+ if (esd) { // only for ESD?
+ for(Int_t iCh = 32; iCh < 64; ++iCh) {
+ Double_t mult = esd->GetVZEROEqMultiplicity(iCh);
+ multV0AEq += mult;
+ }
+ for(Int_t iCh = 0; iCh < 32; ++iCh) {
+ Double_t mult = esd->GetVZEROEqMultiplicity(iCh);
+ multV0CEq += mult;
+ }
}
- for(Int_t iCh = 0; iCh < 3; ++iCh) {
- Double_t mult = esd->GetVZEROEqMultiplicity(iCh);
- multV0CEq += mult;
+ else {
+ for(Int_t iCh = 32; iCh < 64; ++iCh) {
+ Double_t mult = aod->GetVZEROEqMultiplicity(iCh);
+ multV0AEq += mult;
+ }
+ for(Int_t iCh = 0; iCh < 32; ++iCh) {
+ Double_t mult = aod->GetVZEROEqMultiplicity(iCh);
+ multV0CEq += mult;
+ }
}
-
Bool_t kT0BB = kFALSE;
if (esd) {
// ***** T0 info
// ***** Scaling for MC
if (fIsMCInput) {
fUseScaling=kFALSE;
- v0Corr = Short_t((multV0A+multV0C) * fV0MScaleFactorMC);
+ v0Corr = Short_t((multV0A+multV0C) * fV0MScaleFactorMC);
+ multV0A0 = multV0A0 * fV0MScaleFactorMC;
multV0A = multV0A * fV0MScaleFactorMC;
multV0C = multV0C * fV0MScaleFactorMC;
}
// ***** Centrality Selection
if(fHtempV0M) fCentV0M = fHtempV0M->GetBinContent(fHtempV0M->FindBin((v0Corr)));
if(fHtempV0A) fCentV0A = fHtempV0A->GetBinContent(fHtempV0A->FindBin((multV0ACorr)));
- if(fHtempV0A123) fCentV0A123 = fHtempV0A123->GetBinContent(fHtempV0A123->FindBin((multV0A123)));
+ if(fHtempV0A0) fCentV0A0 = fHtempV0A0->GetBinContent(fHtempV0A0->FindBin((multV0A0Corr)));
+ if(fHtempV0A123) fCentV0A123 = fHtempV0A123->GetBinContent(fHtempV0A123->FindBin((multV0A123Corr)));
if(fHtempV0C) fCentV0C = fHtempV0C->GetBinContent(fHtempV0C->FindBin((multV0CCorr)));
+ if(fHtempV0A23) fCentV0A23 = fHtempV0A23->GetBinContent(fHtempV0A23->FindBin((multV0A23Corr)));
+ if(fHtempV0C01) fCentV0C01 = fHtempV0C01->GetBinContent(fHtempV0C01->FindBin((multV0C01Corr)));
+ if(fHtempV0S) fCentV0S = fHtempV0S->GetBinContent(fHtempV0S->FindBin((multV0SCorr)));
if(fHtempV0MEq) fCentV0MEq = fHtempV0MEq->GetBinContent(fHtempV0MEq->FindBin((multV0AEq+multV0CEq)));
if(fHtempV0AEq) fCentV0AEq = fHtempV0AEq->GetBinContent(fHtempV0AEq->FindBin((multV0AEq)));
if(fHtempV0CEq) fCentV0CEq = fHtempV0CEq->GetBinContent(fHtempV0CEq->FindBin((multV0CEq)));
esdCent->SetQuality(fQuality);
esdCent->SetCentralityV0M(fCentV0M);
esdCent->SetCentralityV0A(fCentV0A);
+ esdCent->SetCentralityV0A0(fCentV0A0);
esdCent->SetCentralityV0A123(fCentV0A123);
esdCent->SetCentralityV0C(fCentV0C);
+ esdCent->SetCentralityV0A23(fCentV0A23);
+ esdCent->SetCentralityV0C01(fCentV0C01);
+ esdCent->SetCentralityV0S(fCentV0S);
esdCent->SetCentralityV0MEq(fCentV0MEq);
esdCent->SetCentralityV0AEq(fCentV0AEq);
esdCent->SetCentralityV0CEq(fCentV0CEq);
esdCent->SetCentralityV0MvsFMD(fCentV0MvsFMD);
esdCent->SetCentralityTKLvsV0M(fCentTKLvsV0M);
esdCent->SetCentralityZEMvsZDC(fCentZEMvsZDC);
-
- esdCent->SetCentralityV0Mtrue(fCentV0Mtrue);
- esdCent->SetCentralityV0Atrue(fCentV0Atrue);
- esdCent->SetCentralityV0Ctrue(fCentV0Ctrue);
- // no setters in AliCentrality for
- // fCentV0MEqtrue
- // fCentV0AEqtrue
- // fCentV0CEqtrue
- esdCent->SetCentralityFMDtrue(fCentFMDtrue);
- esdCent->SetCentralityTRKtrue(fCentTRKtrue);
- esdCent->SetCentralityTKLtrue(fCentTKLtrue);
- esdCent->SetCentralityCL0true(fCentCL0true);
- esdCent->SetCentralityCL1true(fCentCL1true);
- esdCent->SetCentralityCNDtrue(fCentCNDtrue);
- esdCent->SetCentralityZNAtrue(fCentZNAtrue);
- esdCent->SetCentralityZNCtrue(fCentZNCtrue);
- esdCent->SetCentralityZPAtrue(fCentZPAtrue);
- esdCent->SetCentralityZPCtrue(fCentZPCtrue);
}
// filling QA histograms
if (fPHS) fHOutCentV0MPHS->Fill(fCentV0M);
if (((((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB) && (runType==0)) ||
- ((((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kINT7) && (runType==1))) { // fill the QA histograms only for MB events!
-
+ ((((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kINT7) && (runType==1)) ||
+ ((((AliInputEventHandler*)(AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler()))->IsEventSelected() & AliVEvent::kMB) && (runType==2)) ) { // fill the QA histograms only for MB events!
+
fHOutQuality->Fill(fQuality);
fHOutVertex->Fill(zvtx);
fHOutVertexT0->Fill(zvtxT0);
if (fQuality==0) {
fHOutCentV0M->Fill(fCentV0M);
fHOutCentV0A->Fill(fCentV0A);
+ fHOutCentV0A0->Fill(fCentV0A0);
fHOutCentV0A123->Fill(fCentV0A123);
fHOutCentV0C->Fill(fCentV0C);
+ fHOutCentV0A23->Fill(fCentV0A23);
+ fHOutCentV0C01->Fill(fCentV0C01);
+ fHOutCentV0S->Fill(fCentV0S);
fHOutCentV0MEq->Fill(fCentV0MEq);
fHOutCentV0AEq->Fill(fCentV0AEq);
fHOutCentV0CEq->Fill(fCentV0CEq);
fHOutMultV0AC->Fill(multV0A,multV0C);
fHOutMultV0M->Fill(multV0ACorr+multV0CCorr);
fHOutMultV0A->Fill(multV0ACorr);
- fHOutMultV0A123->Fill(multV0A123);
+ fHOutMultV0A0->Fill(multV0A0Corr);
+ fHOutMultV0A123->Fill(multV0A123Corr);
fHOutMultV0C->Fill(multV0CCorr);
+ fHOutMultV0A23->Fill(multV0A23Corr);
+ fHOutMultV0C01->Fill(multV0C01Corr);
+ fHOutMultV0S->Fill(multV0SCorr);
fHOutMultV0MEq->Fill(multV0AEq+multV0CEq);
fHOutMultV0AEq->Fill(multV0AEq);
fHOutMultV0CEq->Fill(multV0CEq);
// centrality histos
fHtempV0M = centOADB->V0hist();
fHtempV0A = centOADB->V0Ahist();
+ fHtempV0A0 = centOADB->V0A0hist();
fHtempV0A123 = centOADB->V0A123hist();
fHtempV0C = centOADB->V0Chist();
+ fHtempV0A23 = centOADB->V0A23hist();
+ fHtempV0C01 = centOADB->V0C01hist();
+ fHtempV0S = centOADB->V0Shist();
fHtempV0MEq = centOADB->V0Eqhist();
fHtempV0AEq = centOADB->V0AEqhist();
fHtempV0CEq = centOADB->V0CEqhist();
if (!fHtempV0M) AliWarning(Form("Calibration for V0M does not exist in %s", path.Data()));
if (!fHtempV0A) AliWarning(Form("Calibration for V0A does not exist in %s", path.Data()));
if (!fHtempV0C) AliWarning(Form("Calibration for V0C does not exist in %s", path.Data()));
+ if (!fHtempV0A23) AliWarning(Form("Calibration for V0A23 does not exist in %s", path.Data()));
+ if (!fHtempV0C01) AliWarning(Form("Calibration for V0C01 does not exist in %s", path.Data()));
+ if (!fHtempV0S) AliWarning(Form("Calibration for V0S does not exist in %s", path.Data()));
if (!fHtempV0MEq) AliWarning(Form("Calibration for V0MEq does not exist in %s", path.Data()));
if (!fHtempV0AEq) AliWarning(Form("Calibration for V0AEq does not exist in %s", path.Data()));
if (!fHtempV0CEq) AliWarning(Form("Calibration for V0CEq does not exist in %s", path.Data()));
else
return kFALSE;
}
+