#include <iostream>
#include "AliAnalysisManager.h"
+#include "AliHeader.h"
#include "AliVEvent.h"
#include "AliESD.h"
#include "AliESDEvent.h"
#include "AliESDZDC.h"
#include "AliESDFMD.h"
#include "AliESDVZERO.h"
-#include "AliCentrality.h"
#include "AliESDtrackCuts.h"
+#include "AliESDVertex.h"
+#include "AliCentrality.h"
#include "AliMultiplicity.h"
#include "AliAODHandler.h"
+#include "AliAODHeader.h"
#include "AliAODEvent.h"
-#include "AliESDVertex.h"
#include "AliAODVertex.h"
+#include "AliAODVZERO.h"
+#include "AliAODTracklets.h"
#include "AliAODMCHeader.h"
-#include "AliMCEvent.h"
#include "AliMCEventHandler.h"
+#include "AliMCEvent.h"
+#include "AliAODMCParticle.h"
#include "AliMCParticle.h"
#include "AliStack.h"
-#include "AliHeader.h"
-#include "AliAODMCParticle.h"
#include "AliAnalysisTaskSE.h"
#include "AliGenEventHeader.h"
#include "AliGenHijingEventHeader.h"
//________________________________________________________________________
AliCentralitySelectionTask::AliCentralitySelectionTask():
AliAnalysisTaskSE(),
- fDebug(0),
fAnalysisInput("ESD"),
fIsMCInput(kFALSE),
+ fPass(0),
fFile(0),
fFile2(0),
fCurrentRun(-1),
fTrackCuts(0),
fZVCut(10),
fOutliersCut(5),
- fQuality(0),
+ fQuality(999),
fCentV0M(0),
fCentFMD(0),
fCentTRK(0),
fHOutCentV0MvsCentCL1(0),
fHOutCentV0MvsCentTRK(0),
fHOutCentTRKvsCentCL1(0),
+ fHOutCentV0MvsCentZDC(0),
fHOutMultV0M(0),
fHOutMultV0R(0),
fHOutMultFMD(0),
fHOutMultZEMvsZDN(0),
fHOutMultV0MvsZDC(0),
fHOutMultZEMvsZDC(0),
+ fHOutMultZEMvsZDCw(0),
fHOutMultV0MvsCL1(0),
fHOutMultV0MvsTRK(0),
fHOutMultTRKvsCL1(0),
- fHOutCentV0M_qual1(0),
- fHOutCentTRK_qual1(0),
- fHOutCentCL1_qual1(0),
- fHOutCentV0M_qual2(0),
- fHOutCentTRK_qual2(0),
- fHOutCentCL1_qual2(0),
+ fHOutCentV0Mqual1(0),
+ fHOutCentTRKqual1(0),
+ fHOutCentCL1qual1(0),
+ fHOutMultV0MvsCL1qual1(0),
+ fHOutMultV0MvsTRKqual1(0),
+ fHOutMultTRKvsCL1qual1(0),
+ fHOutCentV0Mqual2(0),
+ fHOutCentTRKqual2(0),
+ fHOutCentCL1qual2(0),
+ fHOutMultV0MvsCL1qual2(0),
+ fHOutMultV0MvsTRKqual2(0),
+ fHOutMultTRKvsCL1qual2(0),
fHOutQuality(0),
fHOutVertex(0)
{
fHighRunN=139517;
for (Int_t i=0; i < 2667; i++) {
- V0MScaleFactor[i]=0.0;
- SPDScaleFactor[i]=0.0;
- TPCScaleFactor[i]=0.0;
- V0MScaleFactorMC[i]=0.0;
+ fV0MScaleFactor[i]=0.0;
+ fSPDScaleFactor[i]=0.0;
+ fTPCScaleFactor[i]=0.0;
+ fV0MScaleFactorMC[i]=0.0;
}
fUseScaling=kTRUE;
fUseCleaning=kTRUE;
//________________________________________________________________________
AliCentralitySelectionTask::AliCentralitySelectionTask(const char *name):
AliAnalysisTaskSE(name),
- fDebug(0),
fAnalysisInput("ESD"),
fIsMCInput(kFALSE),
+ fPass(0),
fFile(0),
fFile2(0),
fCurrentRun(-1),
fTrackCuts(0),
fZVCut(10),
fOutliersCut(5),
- fQuality(0),
+ fQuality(999),
fCentV0M(0),
fCentFMD(0),
fCentTRK(0),
fHOutCentV0MvsCentCL1(0),
fHOutCentV0MvsCentTRK(0),
fHOutCentTRKvsCentCL1(0),
+ fHOutCentV0MvsCentZDC(0),
fHOutMultV0M(0),
fHOutMultV0R(0),
fHOutMultFMD(0),
fHOutMultZEMvsZDN(0),
fHOutMultV0MvsZDC(0),
fHOutMultZEMvsZDC(0),
+ fHOutMultZEMvsZDCw(0),
fHOutMultV0MvsCL1(0),
fHOutMultV0MvsTRK(0),
fHOutMultTRKvsCL1(0),
- fHOutCentV0M_qual1(0),
- fHOutCentTRK_qual1(0),
- fHOutCentCL1_qual1(0),
- fHOutCentV0M_qual2(0),
- fHOutCentTRK_qual2(0),
- fHOutCentCL1_qual2(0),
+ fHOutCentV0Mqual1(0),
+ fHOutCentTRKqual1(0),
+ fHOutCentCL1qual1(0),
+ fHOutMultV0MvsCL1qual1(0),
+ fHOutMultV0MvsTRKqual1(0),
+ fHOutMultTRKvsCL1qual1(0),
+ fHOutCentV0Mqual2(0),
+ fHOutCentTRKqual2(0),
+ fHOutCentCL1qual2(0),
+ fHOutMultV0MvsCL1qual2(0),
+ fHOutMultV0MvsTRKqual2(0),
+ fHOutMultTRKvsCL1qual2(0),
fHOutQuality(0),
fHOutVertex(0)
{
AliInfo("Centrality Selection enabled.");
DefineOutput(1, TList::Class());
for (Int_t i=0; i<2667; i++) {
- V0MScaleFactor[i]=0.0;
- SPDScaleFactor[i]=0.0;
- TPCScaleFactor[i]=0.0;
- V0MScaleFactorMC[i]=0.0;
+ fV0MScaleFactor[i]=0.0;
+ fSPDScaleFactor[i]=0.0;
+ fTPCScaleFactor[i]=0.0;
+ fV0MScaleFactorMC[i]=0.0;
}
fUseScaling=kTRUE;
fUseCleaning=kTRUE;
//________________________________________________________________________
AliCentralitySelectionTask::AliCentralitySelectionTask(const AliCentralitySelectionTask& ana):
AliAnalysisTaskSE(ana),
- fDebug(ana.fDebug),
fAnalysisInput(ana.fDebug),
fIsMCInput(ana.fIsMCInput),
+ fPass(ana.fPass),
fFile(ana.fFile),
fFile2(ana.fFile2),
fCurrentRun(ana.fCurrentRun),
fHOutCentV0MvsCentCL1(ana.fHOutCentV0MvsCentCL1),
fHOutCentV0MvsCentTRK(ana.fHOutCentV0MvsCentTRK),
fHOutCentTRKvsCentCL1(ana.fHOutCentTRKvsCentCL1),
+ fHOutCentV0MvsCentZDC(ana.fHOutCentV0MvsCentZDC),
fHOutMultV0M(ana.fHOutMultV0M),
fHOutMultV0R(ana.fHOutMultV0R),
fHOutMultFMD(ana.fHOutMultFMD),
fHOutMultZEMvsZDN(ana.fHOutMultZEMvsZDN),
fHOutMultV0MvsZDC(ana.fHOutMultV0MvsZDC),
fHOutMultZEMvsZDC(ana.fHOutMultZEMvsZDC),
+ fHOutMultZEMvsZDCw(ana.fHOutMultZEMvsZDCw),
fHOutMultV0MvsCL1(ana.fHOutMultV0MvsCL1),
fHOutMultV0MvsTRK(ana.fHOutMultV0MvsTRK),
fHOutMultTRKvsCL1(ana.fHOutMultTRKvsCL1),
- fHOutCentV0M_qual1(ana.fHOutCentV0M_qual1),
- fHOutCentTRK_qual1(ana.fHOutCentTRK_qual1),
- fHOutCentCL1_qual1(ana.fHOutCentCL1_qual1),
- fHOutCentV0M_qual2(ana.fHOutCentV0M_qual2),
- fHOutCentTRK_qual2(ana.fHOutCentTRK_qual2),
- fHOutCentCL1_qual2(ana.fHOutCentCL1_qual2),
+ fHOutCentV0Mqual1(ana.fHOutCentV0Mqual1),
+ fHOutCentTRKqual1(ana.fHOutCentTRKqual1),
+ fHOutCentCL1qual1(ana.fHOutCentCL1qual1),
+ fHOutMultV0MvsCL1qual1(ana.fHOutMultV0MvsCL1qual1),
+ fHOutMultV0MvsTRKqual1(ana.fHOutMultV0MvsTRKqual1),
+ fHOutMultTRKvsCL1qual1(ana.fHOutMultTRKvsCL1qual1),
+ fHOutCentV0Mqual2(ana.fHOutCentV0Mqual2),
+ fHOutCentTRKqual2(ana.fHOutCentTRKqual2),
+ fHOutCentCL1qual2(ana.fHOutCentCL1qual2),
+ fHOutMultV0MvsCL1qual2(ana.fHOutMultV0MvsCL1qual2),
+ fHOutMultV0MvsTRKqual2(ana.fHOutMultV0MvsTRKqual2),
+ fHOutMultTRKvsCL1qual2(ana.fHOutMultTRKvsCL1qual2),
fHOutQuality(ana.fHOutQuality),
fHOutVertex(ana.fHOutVertex)
{
// Copy Constructor
for (Int_t i=0; i<2667; i++) {
- V0MScaleFactor[i]=0.0;
- SPDScaleFactor[i]=0.0;
- TPCScaleFactor[i]=0.0;
- V0MScaleFactorMC[i]=0.0;
+ fV0MScaleFactor[i]=0.0;
+ fSPDScaleFactor[i]=0.0;
+ fTPCScaleFactor[i]=0.0;
+ fV0MScaleFactorMC[i]=0.0;
}
}
fHOutCentV0MvsFMD= new TH1F("fHOutCentV0MvsFMD","fHOutCentV0MvsFMD; Centrality V0 vs FMD",505,0,101);
fHOutCentTKLvsV0M= new TH1F("fHOutCentTKLvsV0M","fHOutCentTKLvsV0M; Centrality tracklets vs V0",505,0,101);
fHOutCentZEMvsZDC= new TH1F("fHOutCentZEMvsZDC","fHOutCentZEMvsZDC; Centrality ZEM vs ZDC",505,0,101);
- fHOutCentV0MvsCentCL1= new TH2F("fHOutCentV0MvsCentCL1","fHOutCentV0MvsCentCL1; Cent V0 vs Cent SPD",505,0,101,505,0,101);
- fHOutCentV0MvsCentTRK= new TH2F("fHOutCentV0MvsCentTRK","fHOutCentV0MvsCentTRK; Cent V0 vs Cent TPC",505,0,101,505,0,101);
- fHOutCentTRKvsCentCL1= new TH2F("fHOutCentTRKvsCentCL1","fHOutCentTRKvsCentCL1; Cent TPC vs Cent SPD",505,0,101,505,0,101);
+ fHOutCentV0MvsCentCL1= new TH2F("fHOutCentV0MvsCentCL1","fHOutCentV0MvsCentCL1; Cent V0; Cent SPD",505,0,101,505,0,101);
+ fHOutCentV0MvsCentTRK= new TH2F("fHOutCentV0MvsCentTRK","fHOutCentV0MvsCentTRK; Cent V0; Cent TPC",505,0,101,505,0,101);
+ fHOutCentTRKvsCentCL1= new TH2F("fHOutCentTRKvsCentCL1","fHOutCentTRKvsCentCL1; Cent TPC; Cent SPD",505,0,101,505,0,101);
+ fHOutCentV0MvsCentZDC= new TH2F("fHOutCentV0MvsCentZDC","fHOutCentV0MvsCentZDC; Cent V0; Cent ZDC",505,0,101,505,0,101);
fHOutMultV0M = new TH1F("fHOutMultV0M","fHOutMultV0M; Multiplicity V0",25000,0,25000);
fHOutMultV0R = new TH1F("fHOutMultV0R","fHOutMultV0R; Multiplicity V0",30000,0,30000);
fHOutMultZEMvsZDN = new TH2F("fHOutMultZEMvsZDN","fHOutMultZEMvsZDN; Energy ZEM; Energy ZDC-N",500,0,2500,500,0,180000);
fHOutMultV0MvsZDC = new TH2F("fHOutMultV0MvsZDC","fHOutMultV0MvsZDC; Multiplicity V0; Energy ZDC",500,0,25000,500,0,200000);
fHOutMultZEMvsZDC = new TH2F("fHOutMultZEMvsZDC","fHOutMultZEMvsZDC; Energy ZEM; Energy ZDC",500,0,2500,500,0,200000);
+ fHOutMultZEMvsZDCw = new TH2F("fHOutMultZEMvsZDCw","fHOutMultZEMvsZDCw; Energy ZEM; Energy ZDC (weigthed with V0 percentile)",500,0,2500,500,0,200000);
fHOutMultV0MvsCL1 = new TH2F("fHOutMultV0MvsCL1","fHOutMultV0MvsCL1; Multiplicity V0; Multiplicity SPD outer",2500,0,25000,700,0,7000);
fHOutMultV0MvsTRK = new TH2F("fHOutMultV0MvsTRK","fHOutMultV0MvsTRK; Multiplicity V0; Multiplicity TPC",2500,0,25000,400,0,4000);
fHOutMultTRKvsCL1 = new TH2F("fHOutMultTRKvsCL1","fHOutMultTRKvsCL1; Multiplicity TPC; Multiplicity SPD outer",400,0,4000,700,0,7000);
- fHOutCentV0M_qual1 = new TH1F("fHOutCentV0M_qual1","fHOutCentV0M_qual1; Centrality V0",505,0,101);
- fHOutCentTRK_qual1 = new TH1F("fHOutCentTRK_qual1","fHOutCentTRK_qual1; Centrality TPC",505,0,101);
- fHOutCentCL1_qual1 = new TH1F("fHOutCentCL1_qual1","fHOutCentCL1_qual1; Centrality SPD outer",505,0,101);
-
- fHOutCentV0M_qual2 = new TH1F("fHOutCentV0M_qual2","fHOutCentV0M_qual2; Centrality V0",505,0,101);
- fHOutCentTRK_qual2 = new TH1F("fHOutCentTRK_qual2","fHOutCentTRK_qual2; Centrality TPC",505,0,101);
- fHOutCentCL1_qual2 = new TH1F("fHOutCentCL1_qual2","fHOutCentCL1_qual2; Centrality SPD outer",505,0,101);
-
- fHOutQuality = new TH1F("fHOutQuality", "fHOutQuality", 10,-0.5,9.5);
+ fHOutCentV0Mqual1 = new TH1F("fHOutCentV0M_qual1","fHOutCentV0M_qual1; Centrality V0",505,0,101);
+ fHOutCentTRKqual1 = new TH1F("fHOutCentTRK_qual1","fHOutCentTRK_qual1; Centrality TPC",505,0,101);
+ fHOutCentCL1qual1 = new TH1F("fHOutCentCL1_qual1","fHOutCentCL1_qual1; Centrality SPD outer",505,0,101);
+ fHOutMultV0MvsCL1qual1 = new TH2F("fHOutMultV0MvsCL1_qual1","fHOutMultV0MvsCL1_qual1; Multiplicity V0; Multiplicity SPD outer",2500,0,25000,700,0,7000);
+ fHOutMultV0MvsTRKqual1 = new TH2F("fHOutMultV0MvsTRK_qual1","fHOutMultV0MvsTRK_qual1; Multiplicity V0; Multiplicity TPC",2500,0,25000,400,0,4000);
+ fHOutMultTRKvsCL1qual1 = new TH2F("fHOutMultTRKvsCL1_qual1","fHOutMultTRKvsCL1_qual1; Multiplicity TPC; Multiplicity SPD outer",400,0,4000,700,0,7000);
+
+ fHOutCentV0Mqual2 = new TH1F("fHOutCentV0M_qual2","fHOutCentV0M_qual2; Centrality V0",505,0,101);
+ fHOutCentTRKqual2 = new TH1F("fHOutCentTRK_qual2","fHOutCentTRK_qual2; Centrality TPC",505,0,101);
+ fHOutCentCL1qual2 = new TH1F("fHOutCentCL1_qual2","fHOutCentCL1_qual2; Centrality SPD outer",505,0,101);
+ fHOutMultV0MvsCL1qual2 = new TH2F("fHOutMultV0MvsCL1_qual2","fHOutMultV0MvsCL1_qual2; Multiplicity V0; Multiplicity SPD outer",2500,0,25000,700,0,7000);
+ fHOutMultV0MvsTRKqual2 = new TH2F("fHOutMultV0MvsTRK_qual2","fHOutMultV0MvsTRK_qual2; Multiplicity V0; Multiplicity TPC",2500,0,25000,400,0,4000);
+ fHOutMultTRKvsCL1qual2 = new TH2F("fHOutMultTRKvsCL1_qual2","fHOutMultTRKvsCL1_qual2; Multiplicity TPC; Multiplicity SPD outer",400,0,4000,700,0,7000);
+
+ fHOutQuality = new TH1F("fHOutQuality", "fHOutQuality", 100,-0.5,99.5);
fHOutVertex = new TH1F("fHOutVertex", "fHOutVertex", 100,-20,20);
fOutputList->Add( fHOutCentV0M );
fOutputList->Add( fHOutCentV0MvsCentCL1);
fOutputList->Add( fHOutCentV0MvsCentTRK);
fOutputList->Add( fHOutCentTRKvsCentCL1);
+ fOutputList->Add( fHOutCentV0MvsCentZDC);
fOutputList->Add( fHOutMultV0M);
fOutputList->Add( fHOutMultV0R);
fOutputList->Add( fHOutMultFMD);
fOutputList->Add( fHOutMultZEMvsZDN);
fOutputList->Add( fHOutMultV0MvsZDC);
fOutputList->Add( fHOutMultZEMvsZDC);
+ fOutputList->Add( fHOutMultZEMvsZDCw);
fOutputList->Add( fHOutMultV0MvsCL1);
fOutputList->Add( fHOutMultV0MvsTRK);
fOutputList->Add( fHOutMultTRKvsCL1);
- fOutputList->Add( fHOutCentV0M_qual1 );
- fOutputList->Add( fHOutCentTRK_qual1 );
- fOutputList->Add( fHOutCentCL1_qual1 );
- fOutputList->Add( fHOutCentV0M_qual2 );
- fOutputList->Add( fHOutCentTRK_qual2 );
- fOutputList->Add( fHOutCentCL1_qual2 );
+ fOutputList->Add( fHOutCentV0Mqual1 );
+ fOutputList->Add( fHOutCentTRKqual1 );
+ fOutputList->Add( fHOutCentCL1qual1 );
+ fOutputList->Add( fHOutMultV0MvsCL1qual1);
+ fOutputList->Add( fHOutMultV0MvsTRKqual1);
+ fOutputList->Add( fHOutMultTRKvsCL1qual1);
+ fOutputList->Add( fHOutCentV0Mqual2 );
+ fOutputList->Add( fHOutCentTRKqual2 );
+ fOutputList->Add( fHOutCentCL1qual2 );
+ fOutputList->Add( fHOutMultV0MvsCL1qual2);
+ fOutputList->Add( fHOutMultV0MvsTRKqual2);
+ fOutputList->Add( fHOutMultTRKvsCL1qual2);
fOutputList->Add( fHOutQuality );
fOutputList->Add( fHOutVertex );
MyInitScaleFactor();
if (fIsMCInput) MyInitScaleFactorMC();
+
+ if (fPass==0) AliFatal("Which pass are you analyzing? You should set it via taskCentrality->SetPass(N)");
}
//________________________________________________________________________
Short_t v0CorrResc = 0; // corrected and rescaled V0 multiplicity
Float_t zvtx =0; // z-vertex SPD
+ Int_t zvtxNcont =0; // contributors to z-vertex SPD
+
AliCentrality *esdCent = 0;
LoadBranches();
if (fRunNo<=0) {
- if (SetupRun(esd)<0)
- AliFatal("Centrality File not available for this run");
+ if (SetupRun(esd)<0) {
+ AliError("Centrality File not available for this run");
+ return;
+ }
}
esdCent = esd->GetCentrality();
// ***** Vertex Info
const AliESDVertex* vtxESD = esd->GetPrimaryVertexSPD();
zvtx = vtxESD->GetZ();
+ zvtxNcont = vtxESD->GetNContributors();
// ***** CB info (tracklets, clusters, chips)
//nTracks = event->GetNumberOfTracks();
for(UShort_t sec =0; sec < nsec; sec++) {
for(UShort_t strip = 0; strip < nstr; strip++) {
- Float_t FMDmult = fmd->Multiplicity(det,ring,sec,strip);
- if(FMDmult == 0 || FMDmult == AliESDFMD::kInvalidMult) continue;
+ Float_t fmdMult = fmd->Multiplicity(det,ring,sec,strip);
+ if(fmdMult == 0 || fmdMult == AliESDFMD::kInvalidMult) continue;
Float_t nParticles=0;
- if(FMDmult > fFMDLowCut) {
+ if(fmdMult > fFMDLowCut) {
nParticles = 1.;
}
zem2Energy = (Float_t) (esdZDC->GetZDCEMEnergy(1))/8.;
}
+
else if(fAnalysisInput.CompareTo("AOD")==0){
//AliAODEvent *aod = dynamic_cast<AliAODEvent*> (InputEvent());
// to be implemented
return;
}
-
// ***** Scaling
+ // ***** Scaling for pass2
+ if (fPass==2) {
+ fUseScaling=kFALSE;
+ }
// ***** Scaling for MC
if (fIsMCInput) {
fUseScaling=kFALSE;
- Float_t temp_scalefactorV0M = MyGetScaleFactorMC(fCurrentRun);
- v0Corr = Short_t((multV0A+multV0C) * temp_scalefactorV0M);
+ fUseCleaning=kFALSE;
+ Float_t tempScalefactorV0M = MyGetScaleFactorMC(fCurrentRun);
+ v0Corr = Short_t((multV0A+multV0C) * tempScalefactorV0M);
}
// ***** Scaling for Data
if (fUseScaling) {
- Float_t temp_scalefactorV0M = MyGetScaleFactor(fCurrentRun,0);
- Float_t temp_scalefactorSPD = MyGetScaleFactor(fCurrentRun,1);
- Float_t temp_scalefactorTPC = MyGetScaleFactor(fCurrentRun,2);
- v0Corr = Short_t(v0Corr / temp_scalefactorV0M);
- spdCorr = spdCorr / temp_scalefactorSPD;
- nTracks = Int_t(nTracks / temp_scalefactorTPC);
+ Float_t tempScalefactorV0M = MyGetScaleFactor(fCurrentRun,0);
+ Float_t tempScalefactorSPD = MyGetScaleFactor(fCurrentRun,1);
+ Float_t tempScalefactorTPC = MyGetScaleFactor(fCurrentRun,2);
+ v0Corr = Short_t(v0Corr / tempScalefactorV0M);
+ spdCorr = spdCorr / tempScalefactorSPD;
+ nTracks = Int_t(nTracks / tempScalefactorTPC);
}
// ***** Centrality Selection
fOutliersCut=6;
// ***** vertex
- if (TMath::Abs(zvtx)>fZVCut) fQuality += 1;
+ if (TMath::Abs(zvtx)>fZVCut || zvtxNcont<1) fQuality += 1;
// ***** outliers
// **** V0 vs SPD
fHOutQuality->Fill(fQuality);
fHOutVertex->Fill(zvtx);
-
- fHOutMultV0MvsZDN->Fill(v0Corr,(zncEnergy+znaEnergy));
- fHOutMultZEMvsZDN->Fill((zem1Energy+zem2Energy),(zncEnergy+znaEnergy));
- fHOutMultV0MvsZDC->Fill(v0Corr,(zncEnergy+znaEnergy+zpcEnergy+zpaEnergy));
- fHOutMultZEMvsZDC->Fill((zem1Energy+zem2Energy),(zncEnergy+znaEnergy+zpcEnergy+zpaEnergy));
- fHOutMultV0MvsCL1->Fill(v0Corr,spdCorr);
- fHOutMultV0MvsTRK->Fill(v0Corr,nTracks);
if (fQuality==0) {
fHOutCentV0M->Fill(fCentV0M);
fHOutCentV0MvsCentCL1->Fill(fCentV0M,fCentCL1);
fHOutCentV0MvsCentTRK->Fill(fCentV0M,fCentTRK);
fHOutCentTRKvsCentCL1->Fill(fCentTRK,fCentCL1);
+ fHOutCentV0MvsCentZDC->Fill(fCentV0M,fCentZEMvsZDC);
fHOutMultV0M->Fill(v0Corr);
fHOutMultV0R->Fill(multV0A+multV0C);
fHOutMultFMD->Fill((multFMDA+multFMDC));
fHOutMultTKL->Fill(nTracklets);
fHOutMultCL0->Fill(nClusters[0]);
fHOutMultCL1->Fill(spdCorr);
+ fHOutMultV0MvsZDN->Fill(v0Corr,(zncEnergy+znaEnergy));
+ fHOutMultZEMvsZDN->Fill((zem1Energy+zem2Energy),(zncEnergy+znaEnergy));
+ fHOutMultV0MvsZDC->Fill(v0Corr,(zncEnergy+znaEnergy+zpcEnergy+zpaEnergy));
+ fHOutMultZEMvsZDC->Fill((zem1Energy+zem2Energy),(zncEnergy+znaEnergy+zpcEnergy+zpaEnergy));
+ fHOutMultZEMvsZDCw->Fill((zem1Energy+zem2Energy),(zncEnergy+znaEnergy+zpcEnergy+zpaEnergy),fCentV0M);
+ fHOutMultV0MvsCL1->Fill(v0Corr,spdCorr);
+ fHOutMultV0MvsTRK->Fill(v0Corr,nTracks);
fHOutMultTRKvsCL1->Fill(nTracks,spdCorr);
- } else if (fQuality ==1) {
- fHOutCentV0M_qual1->Fill(fCentV0M);
- fHOutCentTRK_qual1->Fill(fCentTRK);
- fHOutCentCL1_qual1->Fill(fCentCL1);
+ } else if (fQuality%2 == 0) {
+ fHOutCentV0Mqual1->Fill(fCentV0M);
+ fHOutCentTRKqual1->Fill(fCentTRK);
+ fHOutCentCL1qual1->Fill(fCentCL1);
+ fHOutMultV0MvsCL1qual1->Fill(v0Corr,spdCorr);
+ fHOutMultV0MvsTRKqual1->Fill(v0Corr,nTracks);
+ fHOutMultTRKvsCL1qual1->Fill(nTracks,spdCorr);
} else {
- fHOutCentV0M_qual2->Fill(fCentV0M);
- fHOutCentTRK_qual2->Fill(fCentTRK);
- fHOutCentCL1_qual2->Fill(fCentCL1);
+ fHOutCentV0Mqual2->Fill(fCentV0M);
+ fHOutCentTRKqual2->Fill(fCentTRK);
+ fHOutCentCL1qual2->Fill(fCentCL1);
+ fHOutMultV0MvsCL1qual2->Fill(v0Corr,spdCorr);
+ fHOutMultV0MvsTRKqual2->Fill(v0Corr,nTracks);
+ fHOutMultTRKvsCL1qual2->Fill(nTracks,spdCorr);
}
PostData(1, fOutputList);
AliInfo(Form("Setup Centrality Selection for run %d\n",fCurrentRun));
// CHANGE HERE FOR RUN RANGES
- if ( fCurrentRun <= 137165 ) fRunNo = 137161;
- else fRunNo = 137366;
- // CHANGE HERE FOR RUN RANGES
-
- TString fileName(Form("%s/COMMON/CENTRALITY/data/AliCentralityBy1D_%d.root", AliAnalysisManager::GetOADBPath(), fRunNo));
- TString fileName2(Form("%s/COMMON/CENTRALITY/data/AliCentralityByFunction_%d.root", AliAnalysisManager::GetOADBPath(), fRunNo));
+ switch (fPass) {
+ case 1:
+ if ( fCurrentRun <= 137165 ) fRunNo = 137161;
+ else fRunNo = 137366;
+ break;
+ case 2:
+ if ( fCurrentRun >= 136851 && fCurrentRun <= 137165 ) fRunNo = 137161;
+ else if ( fCurrentRun >= 137230 && fCurrentRun <= 137531 ) fRunNo = 137366;
+ else if ( fCurrentRun >= 137539 && fCurrentRun <= 137848 ) fRunNo = 137722;
+ else if ( fCurrentRun >= 138125 && fCurrentRun <= 138154 ) fRunNo = 138150;
+ else if ( fCurrentRun >= 138190 && fCurrentRun <= 138275 ) fRunNo = 138200;
+ else fRunNo = 139172;
+ break;
+ default:
+ AliError(Form("Run %d not known to centrality selection!", fCurrentRun));
+ return -1;
+ }
+ TString fileName =(Form("%s/COMMON/CENTRALITY/data/pass%d/AliCentralityBy1D_%d.root", AliAnalysisManager::GetOADBPath(), fPass, fRunNo));
+ TString fileName2=(Form("%s/COMMON/CENTRALITY/data/pass%d/AliCentralityByFunction_%d.root", AliAnalysisManager::GetOADBPath(), fPass, fRunNo));
- AliInfo(Form("Centrality Selection for run %d is initialized with %s", fCurrentRun, fileName.Data()));
+ AliInfo(Form("Centrality Selection for run %d and pass %d is initialized with %s", fCurrentRun, fPass, fileName.Data()));
ReadCentralityHistos(fileName.Data());
ReadCentralityHistos2(fileName2.Data());
if (!fFile && !fFile2) {
- AliFatal(Form("Run %d not known to centrality selection!", fCurrentRun));
+ AliError(Form("Run %d not known to centrality selection!", fCurrentRun));
return -1;
}
return 0;
Bool_t AliCentralitySelectionTask::IsOutlierV0MSPD(Float_t spd, Float_t v0, Int_t cent) const
{
// Clean outliers
- Float_t val= -0.143789 + 0.288874 * v0;
- Float_t SPDsigma[101]={231.483, 189.446, 183.359, 179.923, 174.229, 170.309, 165.021,
- 160.84, 159.33, 154.453, 151.644, 148.337, 145.215, 142.353,
- 139.351, 136, 133.838, 129.885, 127.36, 125.032, 122.21, 120.3,
- 117.766, 114.77, 113.1, 110.268, 107.463, 105.293, 102.845,
- 100.835, 98.9632, 97.3287, 93.6887, 92.1066, 89.3224, 87.8382,
- 86.04, 83.6431, 81.9655, 80.0491, 77.8208, 76.4716, 74.2165,
- 72.2752, 70.4875, 68.9414, 66.8622, 65.022, 63.5134, 61.8228,
- 59.7166, 58.5008, 56.2789, 54.9615, 53.386, 51.2165, 49.4842,
- 48.259, 47.1129, 45.3115, 43.8486, 41.9207, 40.5754, 39.3872,
- 38.1897, 36.5401, 35.1283, 33.9702, 32.6429, 31.3612, 29.5876,
- 28.9319, 27.564, 26.0443, 25.2836, 23.9753, 22.8936, 21.5665,
- 20.7048, 19.8016, 18.7095, 18.1144, 17.2095, 16.602, 16.3233,
- 15.7185, 15.3006, 14.7432, 14.4174, 14.0805, 13.7638, 13.7638,
- 13.7638, 13.7638, 13.7638, 13.7638, 13.7638, 13.7638, 13.7638, 18.0803, 18.0803};
-
- if ( TMath::Abs(spd-val) > fOutliersCut*SPDsigma[cent] )
+ Float_t val= -0.579579 + 0.273949 * v0;
+ Float_t spdSigma[101]={216.473, 194.377, 190.432, 185.019, 179.787, 175.99, 170.695, 167.276, 162.229, 159.016, 155.592, 151.909, 148.967, 146.367, 142.752, 139.718, 136.838, 134.133, 131.374, 128.616, 126.195, 123.49, 120.76, 118.368, 115.671, 113.354, 110.986, 108.761, 105.816, 103.373, 101.525, 99.3941, 96.8891, 95.1021, 92.728, 90.6434, 88.6393, 86.4624, 84.19, 82.3937, 80.4803, 78.5633, 76.5256, 74.7059, 73.0146, 70.9321, 69.1671, 67.2923, 65.5859, 63.9027, 61.7826, 60.1855, 58.6887, 56.8523, 55.1695, 53.422, 51.9776, 50.3506, 48.5304, 47.1517, 45.4786, 43.9914, 42.4579, 41.0889, 39.6201, 38.3046, 36.8624, 35.3697, 33.9223, 32.4637, 30.859, 29.9707, 28.764, 27.5677, 26.3437, 24.8656, 23.5253, 22.9878, 21.5172, 20.4645, 19.7614, 19.0363, 18.0875, 17.3675, 16.7313, 16.4101, 15.8235, 15.4795, 14.897, 14.578, 14.3506, 14.3506, 14.3506, 14.3506, 14.3506, 14.3506, 14.3506, 14.3506, 14.3506, 22.5965, 22.5965};
+
+ if ( TMath::Abs(spd-val) > fOutliersCut*spdSigma[cent] )
return kTRUE;
else
return kFALSE;
Bool_t AliCentralitySelectionTask::IsOutlierV0MTPC(Int_t tracks, Float_t v0, Int_t cent) const
{
// Clean outliers
- Float_t val = -0.540691 + 0.128358 * v0;
- Float_t TPCsigma[101]={106.439, 89.2834, 86.7568, 85.3641, 83.379, 81.6093, 79.3189,
- 78.0616, 77.2167, 75.0021, 73.9957, 72.0926, 71.0442, 69.8395,
- 68.1169, 66.6676, 66.0038, 64.2284, 63.3845, 61.7439, 60.642,
- 59.5383, 58.3696, 57.0227, 56.0619, 54.7108, 53.8382, 52.3398,
- 51.5297, 49.9488, 49.1126, 48.208, 46.8566, 45.7724, 44.7829,
- 43.8726, 42.7499, 41.9307, 40.6874, 39.9619, 38.5534, 38.0884,
- 36.6141, 35.7482, 34.8804, 34.1769, 33.1278, 32.3435, 31.4783,
- 30.2587, 29.4741, 28.8575, 27.9298, 26.9752, 26.1675, 25.1234,
- 24.4702, 23.6843, 22.9764, 21.8579, 21.2924, 20.3241, 19.8296,
- 19.2465, 18.4474, 17.7216, 16.8956, 16.342, 15.626, 15.0329,
- 14.3911, 13.9301, 13.254, 12.6745, 12.2436, 11.7776, 11.1795,
- 10.673, 10.27, 9.95646, 9.50939, 9.26162, 8.95315, 8.73439,
- 8.67375, 8.43029, 8.34818, 8.33484, 8.40709, 8.3974, 8.32814,
- 8.32814, 8.32814, 8.32814, 8.32814, 8.32814, 8.32814, 8.32814, 8.32814, 12.351, 12.351};
-
- if ( TMath::Abs(tracks-val) > fOutliersCut*TPCsigma[cent] )
+ Float_t val = -1.03873 + 0.125691 * v0;
+ Float_t tpcSigma[101]={105.1, 95.7594, 94.5777, 91.7369, 89.655, 87.9469, 85.2747, 83.8137, 81.5663, 79.9871, 78.3491, 76.664, 75.1352, 73.9838, 72.0122, 70.7627, 69.1832, 67.8707, 66.3974, 65.0222, 64.1065, 62.7248, 61.498, 60.11, 58.7405, 57.681, 56.2979, 55.3153, 53.983, 52.6813, 51.5321, 50.5531, 49.3309, 48.2269, 47.1665, 46.1924, 45.1143, 44.0394, 42.8571, 41.8471, 40.9594, 39.8298, 38.8128, 37.8845, 36.8788, 35.9896, 34.9477, 34.1293, 33.1267, 32.161, 31.1132, 30.3521, 29.5237, 28.5992, 27.6283, 26.8885, 26.0719, 25.1334, 24.2125, 23.5376, 22.5383, 21.8396, 21.0384, 20.2942, 19.4746, 18.5545, 18.26, 17.2997, 16.7109, 15.9324, 15.2755, 14.764, 14.2358, 13.6728, 13.2606, 12.846, 12.2636, 11.722, 11.1491, 10.5952, 10.235, 9.87852, 9.48122, 9.17571, 8.90995, 8.81675, 8.62595, 8.59371, 8.52936, 8.58058, 8.5543, 8.5543, 8.5543, 8.5543, 8.5543, 8.5543, 8.5543, 8.5543, 8.5543, 14.2584, 14.2584};
+
+ if ( TMath::Abs(tracks-val) > fOutliersCut*tpcSigma[cent] )
return kTRUE;
else
return kFALSE;
Bool_t AliCentralitySelectionTask::IsOutlierV0MZDC(Float_t zdc, Float_t v0) const
{
// Clean outliers
- Float_t val1 = 6350. - 0.26 * v0;
- Float_t val2 = 5580.;
- if ((zdc > val1) || (zdc > val2))
+ Float_t val = 235000. - 9.5 * v0;
+ if (zdc > val)
return kTRUE;
else
return kFALSE;
Float_t scalefactor=0.0;
if (flag==0)
- scalefactor = V0MScaleFactor[runnumber - fLowRunN]; // subtracting reference offset index
+ scalefactor = fV0MScaleFactor[runnumber - fLowRunN]; // subtracting reference offset index
else if (flag==1)
- scalefactor = SPDScaleFactor[runnumber - fLowRunN]; // subtracting reference offset index
+ scalefactor = fSPDScaleFactor[runnumber - fLowRunN]; // subtracting reference offset index
else if (flag==2)
- scalefactor = TPCScaleFactor[runnumber - fLowRunN]; // subtracting reference offset index
+ scalefactor = fTPCScaleFactor[runnumber - fLowRunN]; // subtracting reference offset index
return scalefactor;
return 0.0;
}
- Float_t scalefactor= V0MScaleFactorMC[runnumber - fLowRunN]; // subtracting reference offset index
+ Float_t scalefactor= fV0MScaleFactorMC[runnumber - fLowRunN]; // subtracting reference offset index
return scalefactor;
}
void AliCentralitySelectionTask::MyInitScaleFactor ()
{
// Initialize the scaling factors
- for (int i=0; i<=(fHighRunN-fLowRunN); i++) V0MScaleFactor[i] = 0.0;
- for (int i=0; i<=(fHighRunN-fLowRunN); i++) SPDScaleFactor[i] = 0.0;
- for (int i=0; i<=(fHighRunN-fLowRunN); i++) TPCScaleFactor[i] = 0.0;
+ for (int i=0; i<=(fHighRunN-fLowRunN); i++) fV0MScaleFactor[i] = 0.0;
+ for (int i=0; i<=(fHighRunN-fLowRunN); i++) fSPDScaleFactor[i] = 0.0;
+ for (int i=0; i<=(fHighRunN-fLowRunN); i++) fTPCScaleFactor[i] = 0.0;
// scale factors determined from <V0 charge> on a run-by-run basis
- V0MScaleFactor[310] = 1.;
- V0MScaleFactor[311] = 1.;
- V0MScaleFactor[514] = 1.0046;
- V0MScaleFactor[515] = 0.983535;
- V0MScaleFactor[579] = 0.988185;
- V0MScaleFactor[580] = 0.983351;
- V0MScaleFactor[581] = 0.989013;
- V0MScaleFactor[583] = 0.990056;
- V0MScaleFactor[588] = 0.974438;
- V0MScaleFactor[589] = 0.981572;
- V0MScaleFactor[590] = 0.989316;
- V0MScaleFactor[592] = 0.98345;
- V0MScaleFactor[688] = 0.993647;
- V0MScaleFactor[690] = 0.994758;
- V0MScaleFactor[693] = 0.989569;
- V0MScaleFactor[698] = 0.993119;
- V0MScaleFactor[744] = 0.989583;
- V0MScaleFactor[757] = 0.990377;
- V0MScaleFactor[787] = 0.990176;
- V0MScaleFactor[788] = 0.98723;
- V0MScaleFactor[834] = 1.00403;
- V0MScaleFactor[835] = 0.994376;
- V0MScaleFactor[840] = 0.99759;
- V0MScaleFactor[842] = 1.01031;
- V0MScaleFactor[900] = 0.996216;
- V0MScaleFactor[901] = 0.994205;
- V0MScaleFactor[992] = 0.998479;
- V0MScaleFactor[997] = 1.00078;
- V0MScaleFactor[1299] = 1.00515;
- V0MScaleFactor[1303] = 1.00094;
- V0MScaleFactor[1339] = 0.986596;
- V0MScaleFactor[1346] = 0.972226;
- V0MScaleFactor[1349] = 0.960358;
- V0MScaleFactor[1350] = 0.970023;
- V0MScaleFactor[1374] = 1.00575;
- V0MScaleFactor[1545] = 1.00471;
- V0MScaleFactor[1587] = 1.00611;
- V0MScaleFactor[1588] = 1.00976;
- V0MScaleFactor[1618] = 1.00771;
- V0MScaleFactor[1682] = 1.01622;
- V0MScaleFactor[1727] = 1.01305;
- V0MScaleFactor[1728] = 1.00388;
- V0MScaleFactor[1731] = 1.00673;
- V0MScaleFactor[1732] = 1.00916;
- V0MScaleFactor[1770] = 1.0092;
- V0MScaleFactor[1773] = 1.00728;
- V0MScaleFactor[1786] = 1.01655;
- V0MScaleFactor[1787] = 1.00672;
- V0MScaleFactor[1801] = 0.983339;
- V0MScaleFactor[1802] = 1.00754;
- V0MScaleFactor[1811] = 1.00608;
- V0MScaleFactor[1815] = 1.01227;
- V0MScaleFactor[1879] = 0.99907;
- V0MScaleFactor[1881] = 0.995696;
- V0MScaleFactor[2186] = 1.00559;
- V0MScaleFactor[2187] = 1.00631;
- V0MScaleFactor[2254] = 1.01512;
- V0MScaleFactor[2256] = 0.998727;
- V0MScaleFactor[2321] = 1.00701;
- SPDScaleFactor[310] = 1.00211;
- SPDScaleFactor[311] = 1.00067;
- SPDScaleFactor[514] = 1.02268;
- SPDScaleFactor[515] = 0.994902;
- SPDScaleFactor[579] = 1.00215;
- SPDScaleFactor[580] = 0.993421;
- SPDScaleFactor[581] = 1.00129;
- SPDScaleFactor[583] = 1.00242;
- SPDScaleFactor[588] = 0.984762;
- SPDScaleFactor[589] = 0.994355;
- SPDScaleFactor[590] = 1.00073;
- SPDScaleFactor[592] = 0.995889;
- SPDScaleFactor[688] = 0.994532;
- SPDScaleFactor[690] = 0.998307;
- SPDScaleFactor[693] = 0.994052;
- SPDScaleFactor[698] = 0.993224;
- SPDScaleFactor[744] = 0.993279;
- SPDScaleFactor[757] = 0.992494;
- SPDScaleFactor[787] = 0.992678;
- SPDScaleFactor[788] = 0.996563;
- SPDScaleFactor[834] = 1.01116;
- SPDScaleFactor[835] = 0.993108;
- SPDScaleFactor[840] = 0.997574;
- SPDScaleFactor[842] = 1.01829;
- SPDScaleFactor[900] = 0.999438;
- SPDScaleFactor[901] = 0.995849;
- SPDScaleFactor[992] = 0.999227;
- SPDScaleFactor[997] = 1.00575;
- SPDScaleFactor[1299] = 0.99877;
- SPDScaleFactor[1303] = 0.999682;
- SPDScaleFactor[1339] = 0.978198;
- SPDScaleFactor[1346] = 0.964178;
- SPDScaleFactor[1349] = 0.959439;
- SPDScaleFactor[1350] = 0.956945;
- SPDScaleFactor[1374] = 0.994434;
- SPDScaleFactor[1545] = 1.0016;
- SPDScaleFactor[1587] = 1.00153;
- SPDScaleFactor[1588] = 1.00698;
- SPDScaleFactor[1618] = 1.00554;
- SPDScaleFactor[1682] = 1.0123;
- SPDScaleFactor[1727] = 1.011;
- SPDScaleFactor[1728] = 1.00143;
- SPDScaleFactor[1731] = 1.00486;
- SPDScaleFactor[1732] = 1.00646;
- SPDScaleFactor[1770] = 1.00515;
- SPDScaleFactor[1773] = 1.00485;
- SPDScaleFactor[1786] = 1.01215;
- SPDScaleFactor[1787] = 1.00419;
- SPDScaleFactor[1801] = 0.983327;
- SPDScaleFactor[1802] = 1.00529;
- SPDScaleFactor[1811] = 1.00367;
- SPDScaleFactor[1815] = 1.01045;
- SPDScaleFactor[1879] = 0.996374;
- SPDScaleFactor[1881] = 0.988827;
- SPDScaleFactor[2186] = 1.00354;
- SPDScaleFactor[2187] = 1.00397;
- SPDScaleFactor[2254] = 1.01138;
- SPDScaleFactor[2256] = 0.996641;
- SPDScaleFactor[2321] = 1.00357;
- TPCScaleFactor[310] = 1.00434;
- TPCScaleFactor[311] = 1.0056;
- TPCScaleFactor[514] = 1.02185;
- TPCScaleFactor[515] = 1.0036;
- TPCScaleFactor[579] = 1.00607;
- TPCScaleFactor[580] = 1.00183;
- TPCScaleFactor[581] = 1.00693;
- TPCScaleFactor[583] = 1.00746;
- TPCScaleFactor[588] = 0.990524;
- TPCScaleFactor[589] = 0.998582;
- TPCScaleFactor[590] = 1.00618;
- TPCScaleFactor[592] = 1.00088;
- TPCScaleFactor[688] = 1.00598;
- TPCScaleFactor[690] = 1.00658;
- TPCScaleFactor[693] = 1.00144;
- TPCScaleFactor[698] = 1.00279;
- TPCScaleFactor[744] = 1.00122;
- TPCScaleFactor[757] = 1.002;
- TPCScaleFactor[787] = 0.997818;
- TPCScaleFactor[788] = 0.994583;
- TPCScaleFactor[834] = 1.01508;
- TPCScaleFactor[835] = 1.00218;
- TPCScaleFactor[840] = 1.00569;
- TPCScaleFactor[842] = 1.01789;
- TPCScaleFactor[900] = 1.00739;
- TPCScaleFactor[901] = 1.00462;
- TPCScaleFactor[992] = 1.00502;
- TPCScaleFactor[997] = 1.00943;
- TPCScaleFactor[1299] = 1.00438;
- TPCScaleFactor[1303] = 0.996701;
- TPCScaleFactor[1339] = 0.978641;
- TPCScaleFactor[1346] = 0.968906;
- TPCScaleFactor[1349] = 0.954311;
- TPCScaleFactor[1350] = 0.958764;
- TPCScaleFactor[1374] = 0.997899;
- TPCScaleFactor[1545] = 0.992;
- TPCScaleFactor[1587] = 0.992635;
- TPCScaleFactor[1588] = 1.00207;
- TPCScaleFactor[1618] = 1.00126;
- TPCScaleFactor[1682] = 1.00324;
- TPCScaleFactor[1727] = 1.00042;
- TPCScaleFactor[1728] = 0.978881;
- TPCScaleFactor[1731] = 0.999818;
- TPCScaleFactor[1732] = 1.00109;
- TPCScaleFactor[1770] = 0.99935;
- TPCScaleFactor[1773] = 0.998531;
- TPCScaleFactor[1786] = 0.999125;
- TPCScaleFactor[1787] = 0.998479;
- TPCScaleFactor[1801] = 0.9775;
- TPCScaleFactor[1802] = 0.999095;
- TPCScaleFactor[1811] = 0.998197;
- TPCScaleFactor[1815] = 1.00413;
- TPCScaleFactor[1879] = 0.990916;
- TPCScaleFactor[1881] = 0.987241;
- TPCScaleFactor[2186] = 1.00048;
- TPCScaleFactor[2187] = 1.00057;
- TPCScaleFactor[2254] = 1.00588;
- TPCScaleFactor[2256] = 0.991503;
- TPCScaleFactor[2321] = 1.00057;
+ fV0MScaleFactor[310] = 1.;
+ fV0MScaleFactor[311] = 1.;
+ fV0MScaleFactor[514] = 1.0046;
+ fV0MScaleFactor[515] = 0.983535;
+ fV0MScaleFactor[579] = 0.988185;
+ fV0MScaleFactor[580] = 0.983351;
+ fV0MScaleFactor[581] = 0.989013;
+ fV0MScaleFactor[583] = 0.990056;
+ fV0MScaleFactor[588] = 0.974438;
+ fV0MScaleFactor[589] = 0.981572;
+ fV0MScaleFactor[590] = 0.989316;
+ fV0MScaleFactor[592] = 0.98345;
+ fV0MScaleFactor[688] = 0.993647;
+ fV0MScaleFactor[690] = 0.994758;
+ fV0MScaleFactor[693] = 0.989569;
+ fV0MScaleFactor[698] = 0.993119;
+ fV0MScaleFactor[744] = 0.989583;
+ fV0MScaleFactor[757] = 0.990377;
+ fV0MScaleFactor[787] = 0.990176;
+ fV0MScaleFactor[788] = 0.98723;
+ fV0MScaleFactor[834] = 1.00403;
+ fV0MScaleFactor[835] = 0.994376;
+ fV0MScaleFactor[840] = 0.99759;
+ fV0MScaleFactor[842] = 1.01031;
+ fV0MScaleFactor[900] = 0.996216;
+ fV0MScaleFactor[901] = 0.994205;
+ fV0MScaleFactor[992] = 0.998479;
+ fV0MScaleFactor[997] = 1.00078;
+ fV0MScaleFactor[1299] = 1.00515;
+ fV0MScaleFactor[1303] = 1.00094;
+ fV0MScaleFactor[1339] = 0.986596;
+ fV0MScaleFactor[1346] = 0.972226;
+ fV0MScaleFactor[1349] = 0.960358;
+ fV0MScaleFactor[1350] = 0.970023;
+ fV0MScaleFactor[1374] = 1.00575;
+ fV0MScaleFactor[1545] = 1.00471;
+ fV0MScaleFactor[1587] = 1.00611;
+ fV0MScaleFactor[1588] = 1.00976;
+ fV0MScaleFactor[1618] = 1.00771;
+ fV0MScaleFactor[1682] = 1.01622;
+ fV0MScaleFactor[1727] = 1.01305;
+ fV0MScaleFactor[1728] = 1.00388;
+ fV0MScaleFactor[1731] = 1.00673;
+ fV0MScaleFactor[1732] = 1.00916;
+ fV0MScaleFactor[1770] = 1.0092;
+ fV0MScaleFactor[1773] = 1.00728;
+ fV0MScaleFactor[1786] = 1.01655;
+ fV0MScaleFactor[1787] = 1.00672;
+ fV0MScaleFactor[1801] = 0.983339;
+ fV0MScaleFactor[1802] = 1.00754;
+ fV0MScaleFactor[1811] = 1.00608;
+ fV0MScaleFactor[1815] = 1.01227;
+ fV0MScaleFactor[1879] = 0.99907;
+ fV0MScaleFactor[1881] = 0.995696;
+ fV0MScaleFactor[2186] = 1.00559;
+ fV0MScaleFactor[2187] = 1.00631;
+ fV0MScaleFactor[2254] = 1.01512;
+ fV0MScaleFactor[2256] = 0.998727;
+ fV0MScaleFactor[2321] = 1.00701;
+ fSPDScaleFactor[310] = 1.00211;
+ fSPDScaleFactor[311] = 1.00067;
+ fSPDScaleFactor[514] = 1.02268;
+ fSPDScaleFactor[515] = 0.994902;
+ fSPDScaleFactor[579] = 1.00215;
+ fSPDScaleFactor[580] = 0.993421;
+ fSPDScaleFactor[581] = 1.00129;
+ fSPDScaleFactor[583] = 1.00242;
+ fSPDScaleFactor[588] = 0.984762;
+ fSPDScaleFactor[589] = 0.994355;
+ fSPDScaleFactor[590] = 1.00073;
+ fSPDScaleFactor[592] = 0.995889;
+ fSPDScaleFactor[688] = 0.994532;
+ fSPDScaleFactor[690] = 0.998307;
+ fSPDScaleFactor[693] = 0.994052;
+ fSPDScaleFactor[698] = 0.993224;
+ fSPDScaleFactor[744] = 0.993279;
+ fSPDScaleFactor[757] = 0.992494;
+ fSPDScaleFactor[787] = 0.992678;
+ fSPDScaleFactor[788] = 0.996563;
+ fSPDScaleFactor[834] = 1.01116;
+ fSPDScaleFactor[835] = 0.993108;
+ fSPDScaleFactor[840] = 0.997574;
+ fSPDScaleFactor[842] = 1.01829;
+ fSPDScaleFactor[900] = 0.999438;
+ fSPDScaleFactor[901] = 0.995849;
+ fSPDScaleFactor[992] = 0.999227;
+ fSPDScaleFactor[997] = 1.00575;
+ fSPDScaleFactor[1299] = 0.99877;
+ fSPDScaleFactor[1303] = 0.999682;
+ fSPDScaleFactor[1339] = 0.978198;
+ fSPDScaleFactor[1346] = 0.964178;
+ fSPDScaleFactor[1349] = 0.959439;
+ fSPDScaleFactor[1350] = 0.956945;
+ fSPDScaleFactor[1374] = 0.994434;
+ fSPDScaleFactor[1545] = 1.0016;
+ fSPDScaleFactor[1587] = 1.00153;
+ fSPDScaleFactor[1588] = 1.00698;
+ fSPDScaleFactor[1618] = 1.00554;
+ fSPDScaleFactor[1682] = 1.0123;
+ fSPDScaleFactor[1727] = 1.011;
+ fSPDScaleFactor[1728] = 1.00143;
+ fSPDScaleFactor[1731] = 1.00486;
+ fSPDScaleFactor[1732] = 1.00646;
+ fSPDScaleFactor[1770] = 1.00515;
+ fSPDScaleFactor[1773] = 1.00485;
+ fSPDScaleFactor[1786] = 1.01215;
+ fSPDScaleFactor[1787] = 1.00419;
+ fSPDScaleFactor[1801] = 0.983327;
+ fSPDScaleFactor[1802] = 1.00529;
+ fSPDScaleFactor[1811] = 1.00367;
+ fSPDScaleFactor[1815] = 1.01045;
+ fSPDScaleFactor[1879] = 0.996374;
+ fSPDScaleFactor[1881] = 0.988827;
+ fSPDScaleFactor[2186] = 1.00354;
+ fSPDScaleFactor[2187] = 1.00397;
+ fSPDScaleFactor[2254] = 1.01138;
+ fSPDScaleFactor[2256] = 0.996641;
+ fSPDScaleFactor[2321] = 1.00357;
+ fTPCScaleFactor[310] = 1.00434;
+ fTPCScaleFactor[311] = 1.0056;
+ fTPCScaleFactor[514] = 1.02185;
+ fTPCScaleFactor[515] = 1.0036;
+ fTPCScaleFactor[579] = 1.00607;
+ fTPCScaleFactor[580] = 1.00183;
+ fTPCScaleFactor[581] = 1.00693;
+ fTPCScaleFactor[583] = 1.00746;
+ fTPCScaleFactor[588] = 0.990524;
+ fTPCScaleFactor[589] = 0.998582;
+ fTPCScaleFactor[590] = 1.00618;
+ fTPCScaleFactor[592] = 1.00088;
+ fTPCScaleFactor[688] = 1.00598;
+ fTPCScaleFactor[690] = 1.00658;
+ fTPCScaleFactor[693] = 1.00144;
+ fTPCScaleFactor[698] = 1.00279;
+ fTPCScaleFactor[744] = 1.00122;
+ fTPCScaleFactor[757] = 1.002;
+ fTPCScaleFactor[787] = 0.997818;
+ fTPCScaleFactor[788] = 0.994583;
+ fTPCScaleFactor[834] = 1.01508;
+ fTPCScaleFactor[835] = 1.00218;
+ fTPCScaleFactor[840] = 1.00569;
+ fTPCScaleFactor[842] = 1.01789;
+ fTPCScaleFactor[900] = 1.00739;
+ fTPCScaleFactor[901] = 1.00462;
+ fTPCScaleFactor[992] = 1.00502;
+ fTPCScaleFactor[997] = 1.00943;
+ fTPCScaleFactor[1299] = 1.00438;
+ fTPCScaleFactor[1303] = 0.996701;
+ fTPCScaleFactor[1339] = 0.978641;
+ fTPCScaleFactor[1346] = 0.968906;
+ fTPCScaleFactor[1349] = 0.954311;
+ fTPCScaleFactor[1350] = 0.958764;
+ fTPCScaleFactor[1374] = 0.997899;
+ fTPCScaleFactor[1545] = 0.992;
+ fTPCScaleFactor[1587] = 0.992635;
+ fTPCScaleFactor[1588] = 1.00207;
+ fTPCScaleFactor[1618] = 1.00126;
+ fTPCScaleFactor[1682] = 1.00324;
+ fTPCScaleFactor[1727] = 1.00042;
+ fTPCScaleFactor[1728] = 0.978881;
+ fTPCScaleFactor[1731] = 0.999818;
+ fTPCScaleFactor[1732] = 1.00109;
+ fTPCScaleFactor[1770] = 0.99935;
+ fTPCScaleFactor[1773] = 0.998531;
+ fTPCScaleFactor[1786] = 0.999125;
+ fTPCScaleFactor[1787] = 0.998479;
+ fTPCScaleFactor[1801] = 0.9775;
+ fTPCScaleFactor[1802] = 0.999095;
+ fTPCScaleFactor[1811] = 0.998197;
+ fTPCScaleFactor[1815] = 1.00413;
+ fTPCScaleFactor[1879] = 0.990916;
+ fTPCScaleFactor[1881] = 0.987241;
+ fTPCScaleFactor[2186] = 1.00048;
+ fTPCScaleFactor[2187] = 1.00057;
+ fTPCScaleFactor[2254] = 1.00588;
+ fTPCScaleFactor[2256] = 0.991503;
+ fTPCScaleFactor[2321] = 1.00057;
// set all missing values to the value of the run before it ....
for (int i=0; i<=(fHighRunN-fLowRunN); i++) {
- if (V0MScaleFactor[i] == 0.0) {
+ if (fV0MScaleFactor[i] == 0.0) {
if (i==0) {
- V0MScaleFactor[i] = 1.00;
+ fV0MScaleFactor[i] = 1.00;
} else {
// search for last run number with non-zero value
for (int j=i-1;j>=0;j--) {
- if (V0MScaleFactor[j] != 0.0) {
- V0MScaleFactor[i] = V0MScaleFactor[j];
+ if (fV0MScaleFactor[j] != 0.0) {
+ fV0MScaleFactor[i] = fV0MScaleFactor[j];
break;
}
}
} // end loop over checking all run-numbers
for (int i=0; i<=(fHighRunN-fLowRunN); i++) {
- if (SPDScaleFactor[i] == 0.0) {
+ if (fSPDScaleFactor[i] == 0.0) {
if (i==0) {
- SPDScaleFactor[i] = 1.00;
+ fSPDScaleFactor[i] = 1.00;
} else {
for (int j=i-1;j>=0;j--) {
- if (SPDScaleFactor[j] != 0.0) {
- SPDScaleFactor[i] = SPDScaleFactor[j];
+ if (fSPDScaleFactor[j] != 0.0) {
+ fSPDScaleFactor[i] = fSPDScaleFactor[j];
break;
}
}
}
for (int i=0; i<=(fHighRunN-fLowRunN); i++) {
- if (TPCScaleFactor[i] == 0.0) {
+ if (fTPCScaleFactor[i] == 0.0) {
if (i==0) {
- TPCScaleFactor[i] = 1.00;
+ fTPCScaleFactor[i] = 1.00;
} else {
for (int j=i-1;j>=0;j--) {
- if (TPCScaleFactor[j] != 0.0) {
- TPCScaleFactor[i] = TPCScaleFactor[j];
+ if (fTPCScaleFactor[j] != 0.0) {
+ fTPCScaleFactor[i] = fTPCScaleFactor[j];
break;
}
}
}
- // for (int i=0; i<=(fHighRunN-fLowRunN); i++) cout << "Scale Factor = " << V0MScaleFactor[i] << " for Run " << i+fLowRunN << endl;
+ // for (int i=0; i<=(fHighRunN-fLowRunN); i++) cout << "Scale Factor = " << fV0MScaleFactor[i] << " for Run " << i+fLowRunN << endl;
return;
void AliCentralitySelectionTask::MyInitScaleFactorMC()
{
// Initialize the MC scaling factors
- for (int i=0; i<(fHighRunN-fLowRunN); i++) V0MScaleFactorMC[i] = 0.0;
+ for (int i=0; i<(fHighRunN-fLowRunN); i++) fV0MScaleFactorMC[i] = 0.0;
// scale factors determined from <V0 charge> on a run-by-run basis
- V0MScaleFactorMC[0] = 0.75108;
+ switch (fPass) {
+ case 1:
+ fV0MScaleFactorMC[0] = 0.75108;
+ break;
+ case 2:
+ fV0MScaleFactorMC[0] = 0.8;
+ break;
+ default:
+ AliError(Form("Unknown reconstruction pass (%d)! Setting MC scale in V0 to 1", fPass));
+ fV0MScaleFactorMC[0] = 1.0;
+ break;
+ }
+
// set all missing values to the value of the run before it ....
for (int i=0; i<=(fHighRunN-fLowRunN); i++) {
- if (V0MScaleFactorMC[i] == 0.0) {
+ if (fV0MScaleFactorMC[i] == 0.0) {
if (i==0) {
- V0MScaleFactorMC[i] = 1.00;
+ fV0MScaleFactorMC[i] = 1.00;
} else {
// search for last run number with non-zero value
for (int j=i-1;j>=0;j--) {
- if (V0MScaleFactorMC[j] != 0.0) {
- V0MScaleFactorMC[i] = V0MScaleFactorMC[j];
+ if (fV0MScaleFactorMC[j] != 0.0) {
+ fV0MScaleFactorMC[i] = fV0MScaleFactorMC[j];
break;
}
}
} // end loop over checking all run-numbers
- // for (int i=0; i<=(fHighRunN-fLowRunN); i++) cout << "Scale Factor = " << V0MScaleFactorMC[i] << " for Run " << i+fLowRunN << endl;
+ // for (int i=0; i<=(fHighRunN-fLowRunN); i++) cout << "Scale Factor = " << fV0MScaleFactorMC[i] << " for Run " << i+fLowRunN << endl;
return;